所以基本上,我正在编写一个 Qt 应用程序。它曾经工作得很好,但是自从我重新配置了一些文件名(具体来说,很久以前,我有名为 mainwindow.h 和 .cpp 的文件。我分别将它们重命名为 net.h 和 .cpp,并且最近更改了回到 mainwindow.h 和 .cpp),它失败并出现几个错误(在运行时):
Object::connect: No such slot QWidget::slotName()
Object::disconnect: No such signal QWidget::iconSizeChanged(QSize)
Object::disconnect: No such signal QWidget::toolButtonStyleChanged(Qt::ToolButtonStyle)
Object::connect: No such signal QWidget::iconSizeChanged(QSize)
Object::connect: No such signal QWidget::toolButtonStyleChanged(Qt::ToolButtonStyle)
我在班级中注册的唯一插槽是第一个插槽名称。我不确定为什么它被列为 QWidget 的成员而不是我的类(它是 QWidget 的子类)。我知道我声明它是正确的,因为我在 moc_mainwindow.cpp 文件中找到了它。是的,我的类定义中有 Q_OBJECT。
运行时还会发生另一个错误,每秒一次:
QWidget::metric: Invalid metric command
QPainter::begin: Paint device returned engine == 0, type: 143256176
就像我说的那样,所有这些过去都可以完美运行,这就是为什么除非被问到,否则我不会发布大量代码。我认为这更像是 QMake 的缓存问题。我试过删除所有moc文件,删除项目文件,清空项目文件并生成一个新的空Makefile等。有人有什么想法吗?