QObject 类是Qt 全部类的基类。函数
QObject是Qt对象模型的核心。这个模型的中心要素就是一种强大的叫作信号与槽无缝对象沟通机制。你能够用 connect()函数来把一个信号链接到槽,也能够用disconnect()函数来破坏这个链接。为了不永无止境的通知循环,你能够用blockSignal()函数来暂时阻塞信号。保护函数对象
connectNotify()和disconnectNotify()能够用来跟踪链接。继承
对象树都是经过QObject 组织起来的,当以一个对象做为父类建立一个新的对象时,这个新对象会被自动加入到父类的 children() 队列中。这个父类有子类的全部权。可以在父类的析构函数中自动删除子类。能够经过findChild()和findChildren()函数来寻找子类。队列
每一个对象都一个对象名称objectName(),并且它的类名也能够经过metaObject()函数。你能够经过inherits()函数来决定一个类是否继承其余的类。当一个对象被删除时,它会发射destory()信号.你能够抓住这个信号避免某些事情。事件
对象能够经过event()函数来接收事情以及过滤来自其余对象的事件。就比如installEventFiter()函数和eventFilter()函数。childEvent()函数可以重载实现子对象的事件。get
QObject还提供了基本的时间支持,QTimer类 提升了更高层次的时间支持。编译器
任何对象要实现信号与槽机制,Q_OBJECT 宏都是强制的。你也须要在源原件上运行元对象编译器。无论是否真正用到信号与槽机制,最好在全部QObject子类使用Q_OBJECT宏,以免出现一些没必要要的错误。it
全部的Qt widgets 都是基础QObject。若是一个对象是widget,那么isWidgetType()函数就能判断出。编译