Qt程序运行时提示找不到槽函数,感觉程序没问题阿

蔓宇藤 2017-05-31 02:16:16
编译没有问题,运行时报错如下:
QObject::connect: No such slot MainWindow::recvTime(const QString time) in ../processTest1/mainwindow.cpp:11
QObject::connect: (receiver name: 'MainWindow')
这是mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->dateTimeEdit->setDisplayFormat("yyyy年MM月dd日 HH:mm:ss");
tThread=new timeThread;
connect(tThread,SIGNAL(sendtime(QString)), this,SLOT(recvTime(const QString time)), Qt::QueuedConnection);
tThread->start();
}

MainWindow::~MainWindow()
{
delete ui;
}


void MainWindow::recvTime(const QString time)
{
//QDateTime data;
//data.toString("2017 05");
//ui->dateTimeEdit->setDateTime((QDateTime)time);
ui->lineEdit->setText(time);
}

这是mainwindow.h
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private:
Ui::MainWindow *ui;

timeThread *tThread;
public slots:
void recvTime(const QString time);
};
...全文
934 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
taanniu1 2017-06-07
  • 打赏
  • 举报
回复 1
2楼说的对,connect不能带参数名,只带参数类型
Z_墨脱 2017-06-01
  • 打赏
  • 举报
回复
把 11行 conncet里面的slot 的const QString time ,time 去掉
  • 打赏
  • 举报
回复
信号槽关联时参数中只需带参数类型,不需要带参数名字。如果在关联信号槽时带上参数名字会导致无法找到相应的槽或信号。如楼上所说,去掉槽函数recvTime(const QString time)里面的time即可。

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧