这个问题,困扰我一下午,之前没加Q_OBJECT导致不能使用信号和槽功能,导致我的程序已知编译出错,后来发现加上后,还是不能编译成功,继续出错。最后在overfolow stack上面找到了答案。
扫描二维码关注公众号,回复:
2153622 查看本文章
原因首先是编译时没加Q_OBJECT导致编译不通过,之后加了Q_OBJECT后再次编译还是出错是因为,程序编译时并没有重新运行QMake所以编译时Q_OBJECT还是没有加入到你的程序中。
解决办法就是添加Q_OBJECT后手动运行Qmake,具体步骤如下:
1.左键项目文件选择清空project。
2.再次左键项目文件选择运行qmake。
3.项目编译运行,这次就不会出错了。