Houdini 19.5 Pythonスクリプト hou hou.qt

hou.qt.mainWindow HOM function

メインのHoudiniウィンドウを表現したQWidgetインスタンスを返します。

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)

hou.qt