1.QObject类
来源:互联网 发布:淘宝网上怎样卖东西 编辑:程序博客网 时间:2024/06/05 10:24
简述
QObject类是所有Qt对象的基类。
QObject是Qt对象模型的核心。 该模型的核心特征是称为信号和槽的对象通信机制。 您可以使用connect()将信号连接到槽,并用disconnect()终止该连接。
为了避免信号死循环,你可以调用blockSignals()去终止该对象的信号发射。 保护类型函数connectNotify()和disconnectNotify()可以跟踪连接。
QObjects对象在树结构中组织起来。当你创建一个QObject对象,以另一个对象作为父对象时,该对象将自动添加到父对象的children()列表中。父类对象拥有子类对象的所有权,即它将在析构函数中自动删除子类对象。你可以通过findChild()或者findChildren()函数由名称或者类型查找对象。
每个对象都有一个objectName(),对象的类名也可以通过metaObject::className()获得。你可以用inherits()函数来判断对象是否继承自另外一个类。
当一个对象被删除时,它会发出一个destroy()信号。 您可以捕获此信号,以避免对空指针的引用。
QObjects可以通过event()接收事件,也可以过滤其他对象的事件。 有关详细信息,请参阅installEventFilter()和eventFilter()。
事件在创建对象的线程中传递。请注意,对于没有线程亲和性(thread()返回零)的QObject,完全不执行事件处理。使用moveToThread()函数来更改对象
及其子对象的线程亲和性(如果对象具有父对象则不能被移动)。
请注意,对于实现信号和槽机制或动态对象属性,Q_OBJECT宏是必需的。你需要在源文件上运行元对象编译器。我们强烈建议在QObject的所有子类中使用
此宏。无论是否使用了信号和槽机制,这样做避免一些奇怪的行为。
所有Qt Widget都继承QObject。一个方便的函数isWidgetType()返回一个对象是否是一个Widget。它比qobject_cast <QWidget *>(obj)或
obj-> inherits(“QWidget”)快得多。
0 0
- 1.QObject类
- QObject类
- QT 读 QObject类
- QObject
- QObject
- error: C2248: “QObject::QObject”: 无法访问 private 成员(在“QObject”类中声明)
- qt qthread类和qobject类
- 使用Qt的QObject类实现多叉树
- QObject是QT所有类的基类,QObject是Qt Object Model的核心
- QObject是QT所有类的基类
- Qt的句柄类和实体类-QObject和QOjectPrivate
- QObject是QT所有类的基类
- Qt定时器:QObject类的定时器和定时器类QTimer
- Qt的句柄类和实体类-QObject和QOjectPrivate
- QObject派生类作为Qt 插件的Interface
- Qt中 QObject类干了什么事情
- QObject派生类作为Qt 插件的Interface
- Qt+halcon 第一个程序 QObject类的定时器应用
- GridView自动增加序号(三种实现方式)
- TextView默认是不支持点击的
- 新安装了VS2010,导入正常程序后出现一堆红色的波浪线,但程序能正常运行。
- 第五届省赛题 Divideing Jewels
- 填充磁盘空间的工具和方法
- 1.QObject类
- 潍职e校帮APP功能简介
- Android 动画
- BZOJ1237: [SCOI2008]配对
- Android 数据库
- script 命令 共享shell屏幕
- C语言基础知识
- linux exercise11
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现