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()

    Returns a dictionary containing some extended info that Houdini maintains for Qt key events value.

  • 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()

    Interprets the native scan code and virtual key code from a Qt key event to return an integer value that is unaffected by held modifiers for the purposes of identifying a key. This can be used to maintain a dictionary of held keys.

  • hou.qt.pixelsToInches()

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

  • hou.qt.qtKeyEventToString()

    Converts a Qt key event into a string that is suitable for UI display or to pass to the hot key manager.

  • hou.qt.qtKeyForUI()

    Uses the available extended key event info maintained by Houdini to return the Qt key value for a Qt key event if modifiers were ignored. If no extended info is available, simply returns 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に変換します。