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

hou.qt.XMLMenuParser class

XMLメニューを扱うためのオブジェクト。

On this page

このオブジェクトは、XMLメニュー定義に基づいてQMenuを構築し、そのメニュー内のショートカットが割り当てられているアイテムを有効にするためのキーボードショートカット制御も簡単にします。

エクスプレッションやスクリプトコードなどのスクリプトアイテムは、該当するメニューアイテムのIDとラベルが(定義されていれば)格納されるkwargsに渡されます。

メソッド

Examples

以下のサンプルでは、このオブジェクトを使用してXMLファイルを準備する方法を説明しています。 これは、イベントハンドラー内で呼び出し可能なhou.qt.Menuを必要時に生成します。

    self._mymenuparser = XmlMenuParser(context = "h.pane.parms", xmlfile = "c:/temp/menu.xml")
...
    def contextMenuEvent(self, event):
        # 評価時にmenu.xml内のエクスプレッションまたはコードに渡される独自のkwargs
        menukwargs["parm"] = menucontextparm
        menukwargs["parmname"] = menucontextparm.name()
        menu = self._mymenuparser.generateMenu(kwargs = menukwargs, hotkeyaction = self._processHotKeyAction)
        if not menu.isEmpty():
            menu.popup(event.globalPos())

XMLファイル:

<?xml version="1.0" encoding="UTF-8"?>
<menuDocument>
<menu>
    <actionItem id="set_keyframe">
        <label>Set a Keyframe</label>
    </actionItem>
    <actionItem id="rem_keyframe">
        <labelExpression>return kwargs["label"] + " - " + kwargs["parmname"]</labelExpression>
    </actionItem>
    <actionItem id="revert_defs">
    </actionItem>

    <toggleItem>
        <label>Parm Locked</label>
        <enableExpression><![CDATA[
return kwargs['parm'] is not None
]]></enableExpression>
        <valueExpression><![CDATA[
return kwargs['parm'].isLocked()
]]></valueExpression>
        <scriptCode><![CDATA[
kwargs['parm'].lock(not kwargs['parm'].isLocked())
]]></scriptCode>
    </toggleItem>

    <actionItem id="lock_parm">
        <context><expression><![CDATA[
if kwargs['parm'] is not None and kwargs['parm'].isLocked():
return False
return True
]]></expression></context>
    </actionItem>
    <actionItem id="unlock_parm">
        <context><expression><![CDATA[
if kwargs['parm'] is not None and kwargs['parm'].isLocked():
return True
return False
]]></expression></context>
    </actionItem>
    <separatorItem/>
    <subMenu>
        <label>Expressions</label>
        <actionItem id="toggle_expr"/>
        <actionItem id="edit_expression"/>
        <actionItem id="expand_values"/>
        <actionItem id="use_python"/>
        <actionItem id="use_old_language"/>
    </subMenu>
</menu>
</menuDocument>

hou.qt

  • hou.qt.ColorField

    カラー入力のウィジェット

  • hou.qt.ColorPalette

    小さなカラーパレットから迅速にカラーを選択することができる便利ウィジェット。

  • hou.qt.ColorSwatchButton

    Houdiniスタイルでカラー選択に使用するボタン。

  • hou.qt.ComboBox

    Houdiniスタイルのスクロール不可のコンボボックス(メニューボタンとメニュー)。

  • hou.qt.Dialog

    Houdiniスタイルの単純なダイアログ。

  • hou.qt.FieldLabel

    入力フィールドの単純なラベル。

  • hou.qt.FileChooserButton

    クリックするとHoudiniファイル選択ダイアログが開くHoudiniスタイルのボタン。

  • hou.qt.FileLineEdit

    ファイル選択フィールド用にカスタマイズされたQLineEditウィジェット。

  • hou.qt.GridLayout

    対応しているどのプラットフォームでも同じスタイルになるレイアウトプロパティを持ったHoudini UI特有のグリッドレイアウト。

  • hou.qt.HelpButton

    クリックするとヘルプページを開くHoudiniスタイルのボタン。

  • hou.qt.Icon

    Houdiniアイコン名から生成されたアイコン。

  • hou.qt.InputField

    整数、float、文字列のどれかを格納したテキストフィールド(1から4)のベクトル。

  • hou.qt.ListEditor

    文字列のリストを表示/編集するための(ダイアログまたは再利用可能ウィジェットとしての)便利ユーザインターフェース。

  • hou.qt.Menu

    Houdiniスタイルのメニュー。

  • hou.qt.MenuBar

    Houdiniスタイルのメニューバー。

  • hou.qt.MenuButton

    クリックするとドロップダウンメニューを開くHoudiniスタイルのボタン。

  • hou.qt.NodeChooserButton

    クリックするとHoudiniノード選択ダイアログを開くHoudiniスタイルのボタン。

  • hou.qt.ParmChooserButton

    クリックするとHoudiniパラメータ選択ダイアログを開くHoudiniスタイルのボタン。

  • hou.qt.ParmDialog

    Houdiniパラメータダイアログ。

  • hou.qt.ParmTupleChooserButton

    クリックするとHoudiniパラメータタプル選択ダイアログを開くHoudiniスタイルのボタン。

  • hou.qt.SearchLineEdit

    検索フィールド用またはフィルターフィールド用にカスタマイズされたQLineEditウィジェット。

  • hou.qt.Separator

    Houdiniスタイルの単純なセパレータウィジェット。

  • hou.qt.ToolTip

    マウスカーソルを置くとツールチップを表示するHoudiniスタイルのツールチップウィンドウ。

  • hou.qt.TrackChooserButton

    クリックするとHoudiniトラック選択ダイアログを開くHoudiniスタイルのボタン。

  • hou.qt.ViewerOverlay

    ビューアQtウィンドウオーバーレイを実装するための基本ウィンドウクラス。

  • hou.qt.Window

    Houdiniスタイルの汎用ウィンドウ。

  • hou.qt.WindowOverlay

    Qtオーバーレイウィンドウを実装するための基本ウィンドウクラス。

  • hou.qt.XMLMenuParser

    XMLメニューを扱うためのオブジェクト。

  • hou.qt.createCheckBox()

    このメソッドは廃止予定です。

  • hou.qt.createComboBox()

    このメソッドは廃止予定です。

  • hou.qt.createDialog()

    このメソッドは廃止予定です。

  • hou.qt.createFileChooserButton()

    このメソッドは廃止予定です。

  • hou.qt.createHelpButton()

    このメソッドは廃止予定です。

  • hou.qt.createIcon()

    このメソッドは廃止予定です。

  • hou.qt.createMenu()

    このメソッドは廃止予定です。

  • hou.qt.createMenuBar()

    このメソッドは廃止予定です。

  • hou.qt.createMenuButton()

    このメソッドは廃止予定です。

  • hou.qt.createNodeChooserButton()

    このメソッドは廃止予定です。

  • hou.qt.createSeparator()

    このメソッドは廃止予定です。

  • hou.qt.createToolTip()

    このメソッドは廃止予定です。

  • hou.qt.createWindow()

    このメソッドは廃止予定です。

  • hou.qt.editList()

    編集された文字列リストを返します。

  • hou.qt.extendedKeyEventInfo()

    HoudiniがQtキーイベント値に対して維持している拡張情報を含んだ辞書を返します。

  • hou.qt.floatingPanelWindow()

    指定したフローティングパネルのウィンドウを表現したQWidgetインスタンスを返します。

  • hou.qt.fromQColor()

    指定したQColorをHOMカラーとアルファ値に変換します。

  • hou.qt.getBrush()

    指定したHoudiniリソースカラーのQBrushオブジェクトを返します。

  • hou.qt.getColor()

    指定したHoudiniリソースカラーのQColorオブジェクトを返します。

  • hou.qt.getCursor()

    HoudiniカーソルのQCursorオブジェクトを返します。

  • hou.qt.inchesToPixels()

    QtとHoudiniの両方のDPI設定を考慮して、インチをピクセルに変換します。

  • hou.qt.mainWindow()

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

  • hou.qt.mimeType

    ドラッグアンドドロップ操作でデータを識別する際に使用するHoudiniのMIMEタイプの列挙型。

  • hou.qt.nativeModifierIndependentKeyCode()

    Qtキーイベントからネイティブスキャンコードと仮想キーコードを解釈し、キーを識別する目的で、押されている修飾キーの影響を受けていない整数値を返します。これを使用することで、押されているキーの辞書を維持することができます。

  • hou.qt.pixelsToInches()

    QtとHoudiniの両方のDPI設定を考慮して、ピクセルをインチに変換します。

  • hou.qt.qtKeyEventToString()

    Qtキーイベントを、UI表示に適した文字列、または、ホットキーマネージャーに渡す文字列に変換します。

  • hou.qt.qtKeyForUI()

    Houdiniで管理されている利用可能な拡張キーイベントを使用して、修飾子が無視された場合でも、QtキーイベントのQtキー値を返します。拡張情報が利用不可の場合は単にevent.key()を返します。

  • hou.qt.qtKeyToString()

    Qt修飾子とキーイベントのテキストと一緒にQtキーをUI表示に適した、または、ホットキーマネージャに渡す文字列に変換します。

  • hou.qt.qtKeyToUIKey()

    Qt修飾子と一緒にQtキーを可能であればUIキーとUI修飾子に変換します。

  • hou.qt.selectColorFromPalette()

    カラーパレットから選択されたQColor値を返します。

  • hou.qt.skipClosingMenusForCurrentButtonPress()

    現在のマウスボタンイベントのメニューの自動クローズを無効にします。

  • hou.qt.styleSheet()

    Houdiniスタイルシートを返します。

  • hou.qt.toQColor()

    指定したHOMカラーとアルファ値をQColorに変換します。