Qt对象树和所有权
Qt對象樹和所有權
- 對象樹和所有權
- 概述
- QObject的構建/銷毀順序
對象樹和所有權
概述
QObject將自己組織在對象樹中。當您創建帶有另一個對象作為父對象的QObject時,它會添加到父對象的children()列表中,并在父對象被刪除時被刪除。事實證明,這種方法非常適合GUI對象的需求。例如,QShortcut(鍵盤快捷方式)是相關窗口的子級,因此,當用戶關閉該窗口時,快捷方式也會被刪除。
QQuickItem是Qt Quick模塊的基本視覺元素,它繼承自QObject,但是其視覺父對象的概念與QObject父對象的概念不同。項的視覺父項不一定與它的對象父項相同。
QWidget是Qt Widgets模塊的基本類,它擴展了父子關系。子級通常也成為子級小部件,即,它顯示在其父級的坐標系中,并通過其父級的邊界以圖形方式進行裁剪。例如,當應用程序在關閉后刪除消息框時,消息框的按鈕和標簽也會被刪除,就像我們想要的那樣,因為按鈕和標簽是消息框的子級。
您也可以自己刪除子對象,它們將從自己的父母中刪除。例如,當用戶刪除工具欄時,它可能導致應用程序刪除其QToolBar對象之一,在這種情況下,工具欄的QMainWindow父級將檢測到更改并相應地重新配置其屏幕空間。
當應用程序外觀或行為異常時,調試功能
總結
- 上一篇: 银行电子退库是什么意思
- 下一篇: 序列化Qt数据类型