主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
对象树和对象所有权
QObject在对象树中组织它们自己。当你以另外一个对象作为 父对象来创建一个QObject时,它就被添加到父对象的children() 列表中,并且当父对象被删除的时候,它也会被删除。这种机制很好的适合了图形用户 界面应用对象的需要。例如,一个QAccel(键盘快捷键)是相关窗口的子对象,当用户 关闭该窗口的时候,这个快捷键也被删除了。
静态函数QObject::objectTrees()提供了访问当前存在的所有跟对象的方法。
QWidget,在屏幕上显示的任何东西的基类,扩展着父-子对象关系。一个子 对象通常就是一个子窗口部件,也就是说,它被显示在父对象的坐标系统中并且 在图象上由父对象的边界夹住。例如,当一个应用程序在一个消息框被关闭之后 删除这个消息框时,消息框的按钮和标签正如我们所想要的也被删除了,因为这些 按钮和标签都是消息框的子对象。
你也可以自己删除子对象,这样它们就会把它们自己从它们的父对象中移除。例如, 当用户移除工具条可以导致应用程序删除它的一个QToolBar对象,在这种情况 工具条的QMainWindow父对象会检测到这种变化并因此而重新构成屏幕空间。
当一个应用程序的看起来或者运行起来有些奇怪的时候,调试函数QObject::dumpObjectTree() 和QObject::dumpObjectInfo()是经常有用的。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|