我对 qt 中的父级和临时父级感到困惑。

  • 对于同一个窗口是否可以同时具有 transient 和父窗口?
  • 对于顶级窗口(像 Popup 之类的小部件)设置了 transient 父级并将父级设置为 NULL ?

  • 您能否在qt中分享有关 parent 和临时 parent 的清晰想法。

    最佳答案



    是的,但这是一个特例。回想一下 QWindow (以及 QWidget )是一个 QObject 。所以你可能希望为了内存管理或抽象所有权的目的给它一个父级,但不是为了窗口管理的目的。

    因此,通过设置 QWindow 窗口标志,QWidget(和 Qt::Window )可以有一个父窗口 也可以是顶级窗口。否则,所有无父窗口和小部件都会默认设置该标志 - 并且无法清除。

    如果这样的窗口是 也是 transient 窗口 (例如弹出窗口),那么它可以有一个与正常父级不同的 transient 父级。



    通常是的,但请参见上文 - 您可以 出于内存管理或窗口/小部件集合管理的原因设置他们的 parent 只要 您在它们上设置了 Qt::Window 窗口标志。

    关于qt - qt中临时父级和父级之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45838731/

    10-11 15:18
    查看更多