我对qt中的父母和短暂的父母感到困惑。
请你在qt中分享关于父母和短暂父母的明确想法。
答案 0 :(得分:2)
对于同一窗口,是否可以同时具有瞬态和父级?
是的,但这是一个特例。回想一下QWindow
(以及QWidget
)是一个QObject
。所以你可能希望为了内存管理或抽象所有权而给它一个父级,但不是为了窗口管理的目的。
因此,QWindow
(和QWidget
)可以通过设置Qt::Window
窗口标志使父和成为顶级窗口。
,否则,所有无父窗口和窗口小部件都会默认设置该标志 - 并且无法清除它。
如果这样的窗口也是一个瞬态窗口(例如弹出窗口),那么它可以有一个与普通父窗口不同的瞬态父窗口。
对于顶级窗口(像Popup这样的小部件),将设置临时父项并将父项设置为
nullptr
?
一般情况下是,但请参阅上文 - 您可以同时设置parent
,以便进行内存管理或窗口/窗口小部件集合管理,只要您设置它们上面有Qt::Window
窗口标志。