首页| 论坛| 消息

标题:程序运行报错No such slot MainWindow::recvTime
作者:phyond
日期:2017-05-31 09:04
内容:

一个主窗口,另外启动了一个线程,并在这个线程里发送一个信号,主窗口的lineEdit设置一个槽接收这个信号里的字符串并显示
运行时报错:

QObject::connect: No such slot MainWindow::recvTime(const QString time) in ../processTest1/mainwindow.cpp:11
QObject::connect:(receiver name: 'MainWindow')

mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include "stimethread.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);
};
#endif // MAINWINDOW_H

线程头文件stimethread.h
#ifndef TIMETHREAD_H
#define TIMETHREAD_H
#include
#include "datalib.h"
class timeThread:public QThread
{
Q_OBJECT
public:
explicit timeThread(QObject *parent=0);
~timeThread();
void stop();
protected:
void run();
private:
volatile bool stopped;
signals:
void sendtime(const QString);
};

#endif // TIMETHREAD_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
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;
co ..


#1 [phyond 05-31 11:26]
哪位老师指点一下?
#2 [chunhuixihui 05-31 14:26]
connect(tThread,SIGNAL(sendtime(QString)), this,SLOT(recvTime(const QString time)), Qt::QueuedConnection);写错了啊
#3 [never_forget 05-31 19:39]
猜测跟 const 有关系,孤陋寡闻的我,看不出来其他的毛病~~~
#4 回 chunhuixihui 的帖子 [phyond 06-01 08:52]
chunhuixihui:connect(tThread,SIGNAL(sendtime(QString)), this,SLOT(recvTime(const QString time)), Qt::QueuedConnection);写错了啊 (2017-05-31 14:26) 
昨天最后确实发现是这个地方错了,不应该有 time
但是不明白原因,这是为什么呢,我定义的函数也是有形参time的
#5 [michico2000 06-01 14:38]
这有啥不明白的connectl连接时不需要带参数名字 只要写参数类型就可以你把参数名写上它会以为你这个类型未定义呢

<< 1 2 >> (1/2)

回复 发表
主题 版块