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).
Return True if the toolbar is expanded and False otherwise.
Return True if the toolbar is shown and False otherwise.
Returns the interface currently assigned to the Python Panel, or None if no interface has been assigned.
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.
Returns any errors that were raised when executing the active interface’s script. Returns an empty string if there were no errors.
Show the specified interface in the Python Panel.
interface is a
Raises hou.OperationFailed if
interface is not an installed
Python Panel interface.
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.
Show or hide the toolbar.
show must be either True or False.
Expand or collapse the toolbar.
expand must be either True or False.
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.
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
Return the name of this tab.
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.
→ hou.paneTabType enum value
Return the type of this tab (i.e. whether it is a scene viewer, parameter editor, network editor, etc.).
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 the pane tab.
→ hou.Pane or
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.
→ hou.FloatingPanel or
Return the floating panel that contains this pane tab or None if the pane tab is not in a floating panel.
Return whether this tab is the selected tab in the containing pane.
Set this tab as the selected tab in the containing pane.
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
Create a floating copy of the pane tab and return the cloned pane tab. The new pane tab is in a new floating panel.
Set the link group membership of this pane tab.
Return whether this pane tab is pinned. This method is equivalent to
(self.linkGroup() == hou.paneLinkType.Pinned)
See also hou.PaneTab.linkGroup().
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().
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.
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.
Return True if this pane tab type supports network controls.
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().
Show or Hide the network control bar. Has no effect if the pane tab doesn’t have network controls. See also hou.PaneTab.hasNetworkControls().
Launch the specified radial menu in the pane tab.
Methods from hou.PathBasedPaneTab
setCurrentNode(node, pick_node = True)