小熊的情况描述:
父类A继承自QWidget,所以父类A自动添加了Q_OBJECT。 子类B继承自父类A,子类B没有添加Q_OBJECT。在子类B中给动态创建的控件添加事件和槽。编译通过,无警告,无错误。运行时,应用程序输出栏显示:QObject::connect: No Such slot ......
网上扒拉扒拉很多网友给的方案是这样的:
以后要是碰到no such slot的问题 1、添加头文件#include<QCoreApplication> 2、看类声明中有没有Q_OBJECT 3、看slot函数有没有声明 private slots: void xxxx(); 4、查看slot有没有出现拼写错误~~~
然而,小熊并没有从方案一受益,于是接着发现了下面这样一个方案:
在xxx.pro文件中添加 OBJECTS_DIR = tmp MOC_DIR = tmp
哈哈~百试不爽。 非常OK。
网友的力量真强大!!!