c++ - 如何对带有信号和槽的类强制使用 Q_OBJECT 宏
问题描述
我有一堆没有定义Q_OBJECT
宏和派生类的基类:
class Base : public QObject
{
Q_OBJECT
public:
// signals and slots
};
class Derived : public Base
{
// notice no `Q_OBJECT` macro
public:
// signals and slots
};
这很好用,但根据Qt 文档:
Q_OBJECT 宏必须出现在声明自己的信号和槽或使用 Qt 元对象系统提供的其他服务的类定义的私有部分中。
Q_OBJECT
当使用 Qt 元系统的类没有宏时,有什么方法可以停止编译?
PS:我正在使用 MSVC 编译器
解决方案
推荐阅读
- objective-c - 如何在 macOS 10.14 上检测暗模式?
- curl - cURL 错误 35:连接到 api.razorpay.com:443 的未知 SSL 协议错误
- ruby-on-rails - 基于其他模型创建动态范围
- javascript - 从函数中提取 props 到 React 中的组件中
- openssl - 什么是 OpenSSL BIO?它们是如何工作的?在 OpenSSL 中如何使用 BIO?
- javascript - 在 Javascript 中查找重复对象或数组的更有效解决方案?
- python - 在 SQLite 数据库中存储计时器 - python
- python - Django:对象引用保持异常
- javascript - iOS上的JavaScript时钟/计时器脚本不起作用
- spring-security - 内容安全策略 Spring Security 通过 XML