On this page |
値 ¶
hou.qt.mimeType.asset
application/sidefx-houdini-asset.gallery.entry
アセットギャラリー内のアセットの識別子。
hou.qt.mimeType.channelPath
application/sidefx-houdini-channel.path
アニメーションチャンネルのフルパス。 ノードパスとアニメーションチャンネル名はスラッシュで区切られます。
hou.qt.mimeType.chopTrackPath
application/sidefx-houdini-chop.track.path
アニメーショントラックのフルパス。 CHOPノードパスとトラック名はスペースで区切られます。
hou.qt.mimeType.galleryEntry
application/sidefx-houdini-gallery.entry
ギャラリーエントリーオブジェクト。
hou.qt.mimeType.galleryEntryName
application/sidefx-houdini-gallery.entry.name
ギャラリーエントリーの名前。
hou.qt.mimeType.itemPath
application/sidefx-houdini-item.path
ネットワークビューア内のアイテムのフルパス。 例えば、このアイテムにはネットワークボックスが該当します。
hou.qt.mimeType.nodeFlagPath
application/sidefx-houdini-node.flag.path
ノードフラグのフルパス。 ノードパスとフラグ名はスラッシュで区切られます。
hou.qt.mimeType.nodePath
application/sidefx-houdini-node.path
ノードのフルパス。
hou.qt.mimeType.orboltNodeTypeName
application/sidefx-houdini-orbolt.node.type.name
Orboltストアーからインストールされたノードタイプの名前。
hou.qt.mimeType.paneTabName
application/sidefx-houdini-pane.tab.name
ペインタブの名前。
hou.qt.mimeType.parmPath
application/sidefx-houdini-parm.path
ノードパラメータのフルパス。 ノードパスとパラメータ名はスラッシュで区切られます。
hou.qt.mimeType.persistentHandleName
application/sidefx-houdini-persistent.handle.name
持続ハンドルの名前。
hou.qt.mimeType.primitivePath
application/sidefx-houdini-primitive.path
ジオメトリプリミティブのフルパス。 SOPノードパスとプリミティブ名はコロンで区切られます。
例えば、/obj/foo/mysop:/alembic/foo/prim
です。
hou.qt.mimeType.shelfName
application/sidefx-houdini-shelf.name
シェルフの名前。
hou.qt.mimeType.shelfToolName
application/sidefx-houdini-shelf.tool.name
シェルフツールの名前。
hou.qt.mimeType.takeName
application/sidefx-houdini-take.name
テイクの名前。
hou.qt.mimeType.usdPrimitivePath
application/sidefx-houdini-usd.primitive.path
USD Primのフルパス。
hou.qt.mimeType.usdPrimitivePython
application/sidefx-houdini-usd.primitive.python
LOPノードからUSD PrimにアクセスするためのPythonエクスプレッション。
hou.qt.mimeType.usdPropertyPath
application/sidefx-houdini-usd.property.path
USDプロパティのフルパス。
hou.qt.mimeType.usdPropertyPython
application/sidefx-houdini-usd.property.python
LOPノードからUSDプロパティにアクセスするためのPythonエクスプレッション。
Examples ¶
Qtウィジェットでhou.qt.mimeType
値を使用することで、ドロップした色々なタイプのHoudiniデータを受け入れることができます。
例:
def dropEvent(self, event): mime_data = event.mimeData() # ノードパスがドロップされたかどうかをチェックします。 data = mime_data.data(hou.qt.mimeType.nodePath) if not data.isEmpty(): node_path = str(data) print "Dropped node path:", node_path return # パラメータパスがドロップされたかどうかをチェックします。 data = mime_data.data(hou.qt.mimeType.parmPath) if not data.isEmpty(): parm_path = str(data) print "Dropped parameter path:", parm_path return # MIMEデータに保存されているプレーンテキストをプリントします。 print "Dropped text:", mime_data.text()
Note
特定のHoudini MIMEタイプに対するドラッグアンドドロップオペレーションには複数のデータを含めることができます。 そのデータのセパレータにはTab文字を使用します。
以下のコードは、複数のデータを制御する例です:
def dropEvent(self, event): mime_data = event.mimeData() if not data.isEmpty(): # 複数のノードパスがTab文字で区切られているので、文字列データを分割します。 node_paths = str(data).split("\t") print "Dropped node path(s):", node_paths return data = mime_data.data(hou.qt.mimeType.parmPath) if not data.isEmpty(): # 複数のパラメータパスがTab文字で区切られているので、文字列データを分割します。 parm_paths = str(data).split("\t") print "Dropped parameter path(s):", parm_paths return print "Dropped text:", mime_data.text()
Qtウィジェットからドラッグアンドドロップオペレーションを開始すると、特定のHoudini MIMEタイプに対してデータを設定することができます。 一部のネイティブHoudiniウィジェットは、ドロップしたデータのMIMEタイプに応じて異なるドロップアクションを実行します。
以下のコードは、ドラッグアンドドロップオペレーションを開始して、HoudiniノードパスをDragオブジェクトに保存する例です:
def mouseMoveEvent(self, event): # 特定の条件が満たされた場合(LMBが押された状態でマウスを少しだけ動かした場合)にのみドラッグオペレーションを開始します。 # この例では、架空の`self.should_start_drag`メンバー変数をチェックして、そのような条件をチェックしています。 if self.should_start_drag: drag = QtGui.QDrag(self) mime_data = QtCore.QMimeData() # ノードパスをMIMEデータに保存します。 node = hou.node("/obj/myNode") mime_data.setData(hou.qt.mimeType.nodePath, node.path()) # さらに、汎用テキストドロップを受け入れるウィジェット用にノードパスをプレーンテキストMIMEタイプのデフォルトとして保存します。 mime_data.setText(node.path()) # ドラッグアンドドロップオペレーションを開始します。 drag.setMimeData(mime_data) drag.exec_()
Tab文字をセパレータとして使用することで、複数のHoudini固有のMIMEタイプのデータを渡すこともできます。
例:
def mouseMoveEvent(self, event): if self.should_start_drag: drag = QtGui.QDrag(self) mime_data = QtCore.QMimeData() # MIMEデータに複数のノードパスを保存します。 node1 = hou.node("/obj/myNode1") node2 = hou.node("/obj/myNode2") node3 = hou.node("/obj/myNode3") node_paths = [node1.path(), node2.path(), node3.path()] str_node_paths = "\t".join(node_paths) mime_data.setData(hou.qt.mimeType.nodePath, str_node_paths) # さらに、汎用テキストドロップを受け入れるウィジェット用にノードパスをプレーンテキストMIMEタイプのデフォルトとして保存します。 mime_data.setText(str_node_paths) # ドラッグアンドドロップオペレーションを開始します。 drag.setMimeData(mime_data) drag.exec_()