mainWindow()
→ QWidget
このメソッドは、PySideまたはPyQtのダイアログをメインウィンドウの子にするのに役立ちます。 ダイアログをメインウィンドウの子にすることで、そのウィンドウの寿命の間だけそのダイアログが生存し、そのダイアログはPythonによって時期尚早に破棄されることはありません。 親子化によって、ダイアログはメインウィンドウに設定されているHoudiniスタイルシートを継承します。
以下のコードは、ダイアログをメインウィンドウの子にした例です:
from hutil.Qt import QtCore dialog = MyDialog() dialog.setParent(hou.qt.mainWindow(), QtCore.Qt.Window) dialog.show()
親子化したダイアログは、そのダイアログを閉じても生存することに注意してください。 ダイアログを閉じた時にそれを破棄したいのであれば、 closeEvent メソッドを実装し、そのダイアログの親子化を解除する必要があります。例:
import Qt.QtWidgets as QtWidgets class MyDialog(QtWidgets.QFrame): ... def closeEvent(self, event): self.setParent(None)