1、错误代码

//重点就在&QAction::trigger这里
connect(mpActionPlay, &QAction::trigger, this ,[=]()

2、正确代码

connect(mpActionPlay, &QAction::triggered, this ,[=]()
});

QAction的点击还是要用trggered这个信号,不能用trigger,我也不知道为什么。

代码1、错误代码//重点就在&QAction::trigger这里connect(mpActionPlay, &QAction::trigger, this ,[=](){})2、正确代码connect(mpActionPlay, &QAction::triggered, this ,[=](){ });QAction的点击还是要用trggered这个信号,不能用trigger,我也不知道为什么。... 而connect写成 connect(objectA,SIGNAL(signal_1(int param)),objectB,SLOT(slot_test(int param))); 编译会通过,运行时会,并且无法触发函数 QObject::connect: No such. 另外传递参数不能带有参数名字 connect (this, SIGNAL(dataWrite(const QByteArray ) ), socket, SLOT(WriteToData(const QByteArray ) ) ); 2:在 Qt 编写过程中,如多线程使用信号时,需要添加 Q_OBJECT,但是在添加之后发现编译老会出。如下: 在 Qt 编写过程中,... Object::connect: Parentheses expected, signal QAction::activated 说明我们写的connect出现了问题,在SIGNAL或者SLOT的函数中没有写括号 误写法: connect(ui->SaveNoteButton,SIGNAL(clicked),this,SLOT(Save_Txt)); 正确写法: connect(ui->SaveNoteButton,SIGNAL(clicked()),this,SLOT
Qt编译时: error: no matching function for call to 'MainWindow::connect(QAction*&, void (QAction::*)(bool), MainWindow* const, MainWindow::MainWindow(QWidget*)::__lambda0)'}); 原因:Qt软件版本过低,低于Qt5.4。 解决方案:在.pro文件中加入代码: CONFIG += C++11 问题解决。
用qt编译,编译: error: no matching function for call to 'MainWindow::connect(QAction*&, void (QAction::*)(bool), MainWindow* const, MainWindow::MainWindow(QWidget*)::__lambda0)'}); 这是因为QT的版本太低。如果我们在写代码的时候,用到了Lambda表达式,如果QT的版本是5.4以前,需要在.pro文件中,加入这样一行代码: