不能在基类中声明 Signal
Posted
技术标签:
【中文标题】不能在基类中声明 Signal【英文标题】:Cannot declare Signal in baseclass 【发布时间】:2011-08-01 13:48:01 【问题描述】:我有一个 A 类,B 类和 C 类的父类。我有信号:在 B 类和 C 类中声明和使用。但是当我尝试编写其他信号时:在 A 类中,它给了我 vtable 参考 错误。我无法在 .h 文件中写入 Q_OBJECT 宏,这会导致错误。
【问题讨论】:
【参考方案1】:由于您没有提供任何代码,我只是猜测一下。
对 `vtable 类型的错误的未定义引用通常源于 moc 编译器未生成代码。
我只是猜测您需要重新运行 qmake。
还要确保此文件包含在 .pro 文件的 HEADERS 部分中。
【讨论】:
这是正确的,每次将Q_OBJECT宏添加到类中都需要重新运行qmake。 问题是当我写信号方法时,我得到了方法没有定义的错误。编译器不会将其视为信号,而是将其视为实例方法。以上是关于不能在基类中声明 Signal的主要内容,如果未能解决你的问题,请参考以下文章