Inheritance |
|
See also hou.pypanel and hou.PythonPanelInterface.
Note
PySide and PyQt interfaces can only be created from the main Houdini application thread. You cannot call any method in this class from a separate thread (i.e. do not call from a Python Shell).
Methods ¶
isToolbarExpanded()
→ bool
Return True if the toolbar is expanded and False otherwise.
isToolbarShown()
→ bool
Return True if the toolbar is shown and False otherwise.
activeInterface()
→ hou.PythonPanelInterface
Returns the interface currently assigned to the Python Panel, or None if no interface has been assigned.
activeInterfaceRootWidget()
→ Qt.QtWidgets.QWidget
subclass
Returns a reference to the user-defined root widget created by the active interface in the Python Panel. Returns None if there is no active interface or widget.
activeInterfaceScriptErrors()
→ str
Returns any errors that were raised when executing the active interface’s script. Returns an empty string if there were no errors.
setActiveInterface(interface)
Show the specified interface in the Python Panel. interface
is a
hou.PythonPanelInterface object.
Raises hou.OperationFailed if interface
is not an installed
Python Panel interface.
reloadActiveInterface()
Reload the current interface in the Python Panel.
Reloading destroys the old generated interface, reloads the Python Panel’s script, and then runs the script to generate a new interface.
showToolbar(show)
Show or hide the toolbar. show
must be either True or False.
expandToolbar(expand)
Expand or collapse the toolbar. expand
must be either True or False.
label()
→ str
Return the label that appears in the Python Panel’s pane tab button. If the Python Panel is not contained in a pane tab but is in a floating window then the label appearing in the window title bar is returned.
setLabel(label)
Set the Python Panel’s label. The label appears in the tab button of the pane tab containing the Python Panel or in the window title bar if the Python Panel is not contained in a pane tab but in a floating window.
You can set a custom label through one of the Python Panel interface’s hook functions. For example, to set the label when the interface is first created:
def onCreateInterface(): # Set a custom label on the containing pane tab. pane_tab = kwargs["paneTab"] pane_tab.setLabel("My Custom Label") widget = QWidget() return widget
Methods from hou.PaneTab ¶
name()
→ str
Return the name of this tab.
setName(name)
Set the name of this pane tab. A pane tab name may contain spaces.
Note that this name is the internal name of the tab, and is different from the label displayed in the interface.
type()
→ hou.paneTabType enum value
Return the type of this tab (i.e. whether it is a scene viewer, parameter editor, network editor, etc.).
setType(type)
→ hou.PaneTab
Create a new pane tab of the given type, replace this tab with it, and return the new pane tab. Use the returned pane tab afterward; references to this tab become invalid.
close()
Close the pane tab.
pane()
→ hou.Pane or None
Return the pane in the desktop that contains this pane tab. Note that pane tabs in regular floating panels are always in a pane, since regular floating panels contain one or more panes.
However, some floating panels have their content stripped down to only contain one particular pane tab type, and do not display the user interface to add more pane tabs, split the pane, etc. This method returns None for these stripped down floating panels.
floatingPanel()
→ hou.FloatingPanel or None
Return the floating panel that contains this pane tab or None if the pane tab is not in a floating panel.
isCurrentTab()
→ bool
Return whether this tab is the selected tab in the containing pane.
setIsCurrentTab()
Set this tab as the selected tab in the containing pane.
isFloating()
→ bool
Return whether this pane tab is in a floating panel.
This method can be approximately implemented as follows:
def isFloating(self): return self.pane() is None or self.pane().floatingPanel() is not None
clone()
→ hou.PaneTab
Create a floating copy of the pane tab and return the cloned pane tab. The new pane tab is in a new floating panel.
linkGroup()
→ hou.paneLinkType enum value
Return the link group that this pane tab belongs to.
See also hou.PaneTab.isPin.
setLinkGroup(group)
Set the link group membership of this pane tab.
isPin()
→ bool
Return whether this pane tab is pinned. This method is equivalent to
(self.linkGroup() == hou.paneLinkType.Pinned)
See also hou.PaneTab.linkGroup.
setPin(pin)
If pin is True
, set the link group membership to hou.paneLinkType.Pinned.
Otherwise, set it to hou.paneLinkType.FollowSelection. This method can be
implemented using hou.PaneTab.setLinkGroup as follows:
def setPin(self, pin): if pin: self.setLinkGroup(hou.paneLinkType.Pinned) else: self.setLinkGroup(hou.paneLinkType.FollowSelection)
See also hou.PaneTab.setLinkGroup.
size()
→ tuple
of int
Return a 2-tuple containing the pane tab’s width and height.
The width and height include the content area, network navigation control area (if any) and borders.
The width and height do not include the pane tab’s tab area.
contentSize()
→ tuple
of int
Return a 2-tuple containing the pane tab’s content area width and height.
The width and height do not include the network navigation control area (if any), pane tab borders or tab area.
hasNetworkControls()
→ bool
Return True if this pane tab type supports network controls.
isShowingNetworkControls()
→ bool
Return whether this pane tab is showing its network control bar. Return False if the pane tab doesn’t have network controls. See also hou.PaneTab.hasNetworkControls.
setShowNetworkControls(pin)
Show or Hide the network control bar. Has no effect if the pane tab doesn’t have network controls. See also hou.PaneTab.hasNetworkControls.
This method is deprecated in favor of showNetworkControls
.
showNetworkControls(pin)
Show or Hide the network control bar. Has no effect if the pane tab doesn’t have network controls. See also hou.PaneTab.hasNetworkControls.
displayRadialMenu(menu)
Launch the specified radial menu in the pane tab.
qtParentWindow()
→ QWidget
Return a PySide2.QtWidgets.QWidget
instance that represents the window
containing the pane tab.
qtScreenGeometry()
→ QRect
Return the geometry of the pane as a PySide2.QtCore.QRect
object. The x
and y
properties of the returned QRect
object
point to the top-left corner of the pane in screen coordinates.
Methods from hou.PathBasedPaneTab ¶
cd(path)
currentNode()
→ Node
pwd()
→ Node
setCurrentNode(node, pick_node = True)
setPwd(node)