消息关闭
    暂无新消息!
编译没有问题,运行时报错如下:
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);
};

2个回答

︿ 1
信号槽关联时参数中只需带参数类型,不需要带参数名字。如果在关联信号槽时带上参数名字会导致无法找到相应的槽或信号。如楼上所说,去掉槽函数recvTime(const QString time)里面的time即可。