|Qt中的Q_OBJECT

文章图片
error C2338: No Q_OBJECT in the class with the signal 在用Qt框架写代码中 , 有时会出现这样的错误 。 Q_OBJECT作为Qt中的一个很重要的宏定义 , 有的人可能不太会去了解它 , 直接按部就班的在类里的头部复制粘贴 , 但是有时忘记粘贴了就出大问题了 。 正如MFC里的消息映射宏 , 小白总是会抓狂 , 明明我啥都没改 , 为啥编译不过去 。
在Qt中 , 当派生类需要用到信号与槽机制时 , 需要做以下两件事情:
1.该类派生QObject类 , 也就是所有的类都是源于QObject类 , QObject是所有Qt的基类;
2.类中要有Q_OBJECT宏 。
信号与槽是Qt应用开发的基础 , 可以将两个毫无关系的对象链接在一起 。 槽就是C++里的函数方法 , 信号就是类似windows的消息 , 当发送信号时 , 槽会被自动调用 , 但是一切的前提都是必须要有Q_OBJECT宏 , 你才能使用这个机制 。
【|Qt中的Q_OBJECT】至于为什么要使用Q_OBJECT宏 , 它的底层原理 , 就不详细说明 。 只是提醒你 , 如果你的信号与槽不产生作用了 , 记得优先排查这里 。
- 滴滴出行|裁员真能拯救中国互联网?
- iPhone14|准大学生的数码装备推荐
- 太空中的真菌毒素是否危害宇航员健康?科学家:尚不明确
- “亿元级”消费券激发市场活力
- 高通骁龙|中国能够生产机械硬盘吗?
- 物流|科技赋能封管控区,无人车助力物流配送
- 松下|淘宝店铺信誉分等级如何提升?
- 马云|马云自己\打脸\之前所说的,如今现身西班牙,开12亿游艇!
- 华为|抵御TikTok,“虾厂”再战南洋
- 索尼|索尼电视就是最好的吗?
