qt的代码里,有的直接用connect(),有的用QObject::connect(), 有什么区别呢?或是为什么?

2025-02-01 20:05:54
推荐回答(1个)
回答1:

不是那个Q_OBJECT影响了用法。
那些直接用connect函数其实都是继承于QObject的,因此可以不用加域名直接使用connect函数。所以说直接用connect()或用QObject::connect()其实用的都是一个函数。

你说:发现一般有自定义的信号和槽时都直接用connect 这些类里有Q_OBJECT宏。
其实是可以用Q_OBJECT宏就证明了这个类是继承于QObject的。所以就可以直接用connect函数
而继承于QObject的类加不加Q_OBJECT这个宏只是指明了这个类有没有自定义信号和槽的功能而已