You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QT中MainWindow向Parameters对话框传数据失败,出现槽函数不存在错误

QT信号槽连接失败:MainWindow向Parameters对话框传值问题

问题情况

想实现MainWindow给Parameters对话框传数据,但代码运行后无预期效果,还弹出错误提示:

QObject::connect: 不存在槽函数 parameters::recieved()
QObject::connect: (接收者名称: 'parameters')

涉及的代码如下:

MainWindow.h 中的信号定义

signals:
     void send_data(QString a);

MainWindow.cpp 中的连接代码与信号发射函数

QObject::connect(this, &MainWindow::send_data, Parameters, &parameters::recieved);

void MainWindow::showtime(){
 emit send_data(travel_c);
}

Parameters对话框的槽函数声明与实现

public slots:
    void revieved(QString a);


void parameters::recieved(QString a) {
    ui->START_DELAY->setText(a);
    qDebug()<<"Recieved"<<a;
} 

问题原因与修复方法

  • 槽函数拼写不统一:槽函数声明写的是revieved,但实现和连接时用的是recieved,名字不匹配导致QT找不到对应槽函数。
    修复:将声明改为void recieved(QString a);,保证声明、实现、连接代码中的函数名完全一致。

  • 额外检查项:

    • 确保parameters类已添加Q_OBJECT宏,且重新执行qmake后再编译项目(这是QT类使用信号槽机制的基础要求)。
    • 确认Parameters是parameters类的有效实例,避免空指针导致连接失败。

修复后的槽函数声明示例

public slots:
    void recieved(QString a); // 与实现、连接代码的函数名统一

内容的提问来源于stack exchange,提问作者Tron Zu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:01:00