Inheritance |
|
hou.pypanelとhou.PythonPanelInterfaceも参照してください。
Note
PySideとPyQtのインターフェースは、Houdiniアプリケーションのメインスレッドからのみ作成することができます。 別のスレッドからこのクラスのメソッドをコールすることはできません(つまり、Pythonシェルからコールしないでください)。
メソッド ¶
isToolbarExpanded()
→ bool
ツールバーが展開されていればTrue、そうでないならFalseを返します。
isToolbarShown()
→ bool
ツールバーが表示されていればTrue、そうでないならFalseを返します。
activeInterface()
→ hou.PythonPanelInterface
現在Python Panelに割り当てられているインターフェースを返し、何のインターフェースも割り当てられていなければNoneを返します。
activeInterfaceRootWidget()
→ Qt.QtWidgets.QWidget
subclass
Python Panel内のアクティブインターフェースで作成されたユーザ定義のルートウィジェットの参照を返します。 アクティブインターフェースやウィジェットがなければNoneを返します。
activeInterfaceScriptErrors()
→ str
アクティブインターフェースのスクリプトを実行した時に引き起こされたエラーを返します。 何もエラーがなかった場合は空っぽの文字列を返します。
setActiveInterface(interface)
指定したインターフェースをPython Panel内に表示します。
interface
はhou.PythonPanelInterfaceオブジェクトです。
interface
がインストールされているPython Panelインターフェースでなかった場合は、hou.OperationFailedを引き起こします。
reloadActiveInterface()
Python Panel内の現行インターフェースをリロードします。
リロードは、生成された古いインターフェースを破棄し、Python Panelのスクリプトをリロードし、 次に、そのスクリプトを実行して新しいインターフェースを生成します。
showToolbar(show)
ツールバーを表示/非表示します。show
はTrueまたはFalseのどちらかでなければなりません。
expandToolbar(expand)
ツールバーを展開または折り畳みます。expand
はTrueまたはFalseのどちらかでなければなりません。
label()
→ str
Python Panelのペインタブボタンに表示されているラベルを返します。 Python Panelがペインタブ内に含まれていなくて、フローティングウィンドウになっている場合は、 そのウィンドウタイトルバーに表示されているラベルを返します。
setLabel(label)
Python Panelのラベルを設定します。 このラベルは、Python Panelに含まれているペインタブのタブボタンに表示されます。 Python Panelがペインタブ内に含まれていなくて、フローティングウィンドウになっている場合は、ウィンドウタイトルバーに表示されます。
Python Panelインターフェースのフック関数のどれかを使って独自のラベルを設定することができます。 以下のコードは、初めてインターフェースが作成されると、ラベルが設定されます:
def onCreateInterface(): # 包含しているペインタブに対して独自のラベルを設定します。 pane_tab = kwargs["paneTab"] pane_tab.setLabel("My Custom Label") widget = QWidget() return widget
Methods from hou.PaneTab ¶
name()
→ str
このタブの名前を返します。
setName(name)
このペインタブの名前を設定します。ペインタブの名前にはスペースを含めることができます。
この名前は、そのタブの内部名で、インターフェースで表示される名前とは異なることに注意してください。
type()
→ hou.paneTabType列挙値
このタブのタイプ(つまり、scene viewer, parameter editor, network editorなど)を返します。
setType(type)
→ hou.PaneTab
指定したタイプの新しいペインタブを作成し、このタブをその新しいタブに置換し、その新しいペインタブを返します。 このタブの参照が無効になるので、それ以降は、返されたペインタブを使用してください。
close()
ペインタブを閉じます。
pane()
→ hou.Pane or None
このペインタブを含んだデスクトップ内のペインを返します。 通常のフローティングパネルには1個以上のペインを含むので、通常のフローティングパネル内のペインタブは、常にペイン内にあります。
とはいえ、いくつかのフローティングパネルでは、特定のペインタブタイプだけを含むように、それ以外の内容が取り除かれており、 複数のペインタブを追加したり、ペインを分割するといったユーザインターフェースを表示しません。 このメソッドは、そのような余計なものが取り除かれたパネルに対してはNoneを返します。
floatingPanel()
→ hou.FloatingPanel or None
このペインタブが含まれたフローティングパネルを返します。このペインタブがフローティングパネル内になければNoneを返します。
isCurrentTab()
→ bool
このタブが、それが含まれているペイン内で選択されたタブかどうか返します。
setIsCurrentTab()
このタブを、それが含まれているペイン内で選択されたタブとして設定します。
isFloating()
→ bool
このペインタブがフローティングパネル内にあるかどうか返します。
このメソッドはほぼ以下のように実装されています:
def isFloating(self): return self.pane() is None or self.pane().floatingPanel() is not None
clone()
→ hou.PaneTab
ペインタブから複製されたフローティングパネルを作成し、そのクローンペインタブを返します。 その新しいペインタブは、新しいフローティングパネル内にあります。
linkGroup()
→ hou.paneLinkType列挙値
このペインタブが属するリンクグループを返します。
hou.PaneTab.isPinも参照してください。
setLinkGroup(group)
このペインタブのリンクグループメンバーシップを設定します。
isPin()
→ bool
このペインタブがピン留めされているかどうか返します。このメソッドは、(self.linkGroup() == hou.paneLinkType.Pinned)
と等価です。
hou.PaneTab.linkGroupも参照してください。
setPin(pin)
pinがTrue
なら、リンクグループメンバーシップをhou.paneLinkType.Pinnedに設定します。
それ以外の場合、それをhou.paneLinkType.FollowSelectionに設定します。
このメソッドは、以下のようにhou.PaneTab.setLinkGroupを使用して実装することができます:
def setPin(self, pin): if pin: self.setLinkGroup(hou.paneLinkType.Pinned) else: self.setLinkGroup(hou.paneLinkType.FollowSelection)
hou.PaneTab.setLinkGroupも参照してください。
size()
→ tuple
of int
ペインタブの幅と高さを含んだ2タプルを返します。
この幅と高さは、その中身の領域、(もしあれば)ネットワークナビゲーションコントロールの領域、境界を含みます。
この幅と高さは、ペインタブのタブ領域を含みません。
contentSize()
→ tuple
of int
ペインタブの中身の領域の幅と高さを含んだ2タプルを返します。
この幅と高さは、(もしあれば)ネットワークナビゲーションコントロールの領域、ペインタブの境界、ペインタブの領域を含みません。
hasNetworkControls()
→ bool
このペインタブタイプがネットワークコントロールに対応していればTrueを返します。
isShowingNetworkControls()
→ bool
このペインタブがネットワークコントロールバーを表示しているかどうかを返します。 ペインタブがネットワークコントロールを持っていない場合はFalseを返します。 hou.PaneTab.hasNetworkControlsも参照してください。
setShowNetworkControls(pin)
ネットワークコントロールバーを表示/非表示します。 ペインタブがネットワークコントロールを持っていない場合は何の効果もありません。 hou.PaneTab.hasNetworkControlsも参照してください。
このメソッドは廃止されました。代わりにshowNetworkControls
を使用してください。
showNetworkControls(pin)
ネットワークコントロールバーを表示/非表示します。 ペインタブにネットワークコントロールがない場合は何の効果もありません。 hou.PaneTab.hasNetworkControlsも参照してください。
displayRadialMenu(menu)
指定したRadialメニューをペインタブ内で起動します。
qtParentWindow()
→ QWidget
このペインタブを含んだウィンドウを表現したPySide2.QtWidgets.QWidget
インスタンスを返します。
qtScreenGeometry()
→ QRect
このペインタブのジオメトリをPySide2.QtCore.QRect
オブジェクトとして返します。
返されるQRect
オブジェクトのx
とy
のプロパティは、スクリーン座標におけるこのペインタブの左上コーナーを指します。
Methods from hou.PathBasedPaneTab ¶
cd(path)
currentNode()
→ Node
pwd()
→ Node
setCurrentNode(node, pick_node = True)
setPwd(node)