【发布时间】:2017-08-23 11:41:14
【问题描述】:
我对 qt 中的父级和瞬态父级感到困惑。
- 对于同一个窗口是否可以同时具有瞬态和父级?
- 对于顶级窗口(Popup 等小部件)设置了临时父级并将父级设置为 NULL ?
你能分享一下qt中父母和临时父母的清晰想法吗?
【问题讨论】:
我对 qt 中的父级和瞬态父级感到困惑。
你能分享一下qt中父母和临时父母的清晰想法吗?
【问题讨论】:
对于同一个窗口是否可以同时拥有瞬态和父级?
是的,但这是一个特例。回想一下QWindow(以及QWidget)是一个QObject。因此,出于内存管理或抽象所有权的目的,您可能希望给它一个父级,而不是出于窗口管理的目的。
因此,QWindow(和QWidget)可以有一个父窗口并且也可以通过设置Qt::Window 窗口标志作为顶级窗口。否则,所有无父窗口和小部件都会默认设置该标志 - 并且无法清除。
如果这样的窗口也是一个临时窗口(例如弹出窗口),那么它可以有一个不同于正常父级的临时父级。
对于顶级窗口(弹出窗口之类的小部件)设置了临时父级,并且父级设置为
nullptr?
通常是的,但见上文 - 您可以也出于内存管理或窗口/小部件集合管理的原因设置他们的parent只要您设置@ 987654329@他们的窗口标志。
【讨论】: