2017-08-23 5 views
4

qtで親と一時的な親と混同しました。qt内の一時的な親と親の差

  1. 同じウィンドウでも、一時的でも親的でもかまいませんか?
  2. トップレベルウィンドウ(Popupのようなウィジェット)では、一時的な親が設定され、親がNULLに設定されていますか?

qtの親と一時的な親に関する明確なアイデアを教えてください。

答えて

2

同じウィンドウでも、一時的でも親的でもかまいませんか?

はい、ただし特殊なケースです。 QWindow(さらにはQWidget)が-QObjectであることを思い出してください。したがって、ウィンドウ管理の目的ではなく、メモリ管理や抽象的な所有権を目的とした親を与えることができます。

したがってQWindow(及びQWidget)は親Qt::Windowウィンドウフラグを設定することにより、トップレベルのウィンドウであることができます。それ以外の場合、すべての親なしウィンドウとウィジェットにはデフォルトでそのフラグが設定されており、クリアすることはできません。

また、一時的なウィンドウ(ポップアップなど)の場合、通常の親とは異なる一時的な親を持つことができます。

一時的な親が設定され、親がnullptrに設定されているトップレベルウィンドウ(Popupのようなウィジェット)の場合は?一般

はい、しかし上記を参照 - あなたをすることができますは、限り、あなたはそれらにQt::Windowウィンドウフラグを設定ようなメモリ管理やウィンドウ/ウィジェットコレクション管理の理由のために彼らのparentを設定します。

+0

どのウィジェットがポップアップ以外の一時的な親の下に来るのですか? –

+0

どのようなウィンドウ管理が必要なのか理解してから、一時的な親を持つようになりました! –

関連する問題