QT信号与槽机制决定的,由于发送信号的类没有带上Q_OBJECT,所以找不到定义信号。
主界面(QMainWindows,QWidget,Qdialog)是有这个关键字的,而QMainWindows是继承QObject的,所以问题不在主界面上。
解决办法
在发送信号的类和接收信号的类的头文件中加上Q_OBJECT,然后重新构建)
注意
1、如果已经添加QObject,编译还出现错误,将QObject类放在最前面继承:public QObject。
2、由于Q_OBJECT是半途加入的,需要重新加载编译,解决的办法是直接在.pro文件中随便随便加个空格,再次再编译就可以通过。
3.Qt版本较高的开发者,在新建class文件的时候没有勾选Add Q OBJECT
也会导致无法识别
static assertion failed:no q_object in the class with the signal
于 2023-10-03 11:00:48 首次发布