qt的代码里,有的直接用connect(),有的用QObject::connect(), 有什么区别呢?或是为什么?
发现一般有自定义的信号和槽时都直接用connect这些类里有Q_OBJECT宏,而QObject::connect这种用法连接的是qt定义的信号和槽试问是Q_OBJECT...
发现一般有自定义的信号和槽时都直接用connect 这些类里有Q_OBJECT宏, 而QObject::connect这种用法 连接的是qt定义的信号和槽 试问是 Q_OBJECT影响了用法吗 ,还是其他的原因?
展开
1个回答
展开全部
不是那个Q_OBJECT影响了用法。
那些直接用connect函数其实都是继承于QObject的,因此可以不用加域名直接使用connect函数。所以说直接用connect()或用QObject::connect()其实用的都是一个函数。
你说:发现一般有自定义的信号和槽时都直接用connect 这些类里有Q_OBJECT宏。
其实是可以用Q_OBJECT宏就证明了这个类是继承于QObject的。所以就可以直接用connect函数
而继承于QObject的类加不加Q_OBJECT这个宏只是指明了这个类有没有自定义信号和槽的功能而已
那些直接用connect函数其实都是继承于QObject的,因此可以不用加域名直接使用connect函数。所以说直接用connect()或用QObject::connect()其实用的都是一个函数。
你说:发现一般有自定义的信号和槽时都直接用connect 这些类里有Q_OBJECT宏。
其实是可以用Q_OBJECT宏就证明了这个类是继承于QObject的。所以就可以直接用connect函数
而继承于QObject的类加不加Q_OBJECT这个宏只是指明了这个类有没有自定义信号和槽的功能而已
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询