我对 qt 中的父级和瞬态父级感到困惑。
您能否分享一下关于qt中的父级和瞬态父级的清晰想法。
对于同一个窗口是否可以同时拥有瞬态窗口和父窗口?
是的,但这是一个特殊情况。回想一下, a QWindow
(以及QWidget
) is-a QObject
。因此,您可能希望为它提供一个父级,以实现内存管理或抽象所有权的目的,但不是为了窗口管理的目的。
因此,QWindow
(和QWidget
)可以有一个父窗口,并且通过设置窗口标志也可以成为顶级窗口Qt::Window
。否则,所有无父窗口和小部件都默认设置该标志 - 并且无法清除。
如果这样的窗口也是瞬态窗口(例如弹出窗口),则它可以具有与正常父窗口不同的瞬态父窗口。
对于顶级窗口(像 Popup 这样的小部件),瞬态父窗口被设置,父窗口设置为
nullptr
?
一般来说是的,但请参见上面 - 您也parent
可以出于内存管理或窗口/小部件集合管理的原因设置它们,只要您在它们上设置Qt::Window
窗口标志即可。
归档时间: |
|
查看次数: |
1700 次 |
最近记录: |