class open3d.visualization.gui.WidgetStack#

A widget stack saves all widgets pushed into by push_widget and always shows the top one. The WidgetStack is a subclass of WidgetProxy, in otherwords, the topmost widget will delegate itself to WidgetStack. pop_widget will remove the topmost widget and callback set by set_on_top taking the new topmost widget will be called. The WidgetStack disappears in GUI if there is no widget in stack.

class Constraints#

Constraints object for Widget.calc_preferred_size()

__init__(self: open3d.cpu.pybind.visualization.gui.Widget.Constraints) None#
property height#
property width#
class EventCallbackResult#

Returned by event handlers


IGNORED : Event handler ignored the event, widget will handle event normally

HANDLED : Event handler handled the event, but widget will still handle the event normally. This is useful when you are augmenting base functionality

CONSUMED : Event handler consumed the event, event handling stops, widget will not handle the event. This is useful when you are replacing functionality

CONSUMED = <EventCallbackResult.CONSUMED: 2>#
HANDLED = <EventCallbackResult.HANDLED: 1>#
IGNORED = <EventCallbackResult.IGNORED: 0>#
property value#
__init__(self: open3d.cpu.pybind.visualization.gui.WidgetStack) None#

Creates a widget stack. The widget stack without anywidget will not be shown in GUI until set_widget iscalled to push a widget.

add_child(self: open3d.cpu.pybind.visualization.gui.Widget, arg0: open3d.cpu.pybind.visualization.gui.Widget) None#

Adds a child widget

calc_preferred_size(self: open3d.cpu.pybind.visualization.gui.Widget, arg0: open3d.cpu.pybind.visualization.gui.LayoutContext, arg1: open3d.cpu.pybind.visualization.gui.Widget.Constraints) open3d.cpu.pybind.visualization.gui.Size#

Returns the preferred size of the widget. This is intended to be called only during layout, although it will also work during drawing. Calling it at other times will not work, as it requires some internal setup in order to function properly

get_children(self: open3d.cpu.pybind.visualization.gui.Widget) List[open3d.cpu.pybind.visualization.gui.Widget]#

Returns the array of children. Do not modify.

get_widget(self: open3d.cpu.pybind.visualization.gui.WidgetProxy) open3d.cpu.pybind.visualization.gui.Widget#

Retrieve current delegated widget.return instance of current delegated widget set by set_widget. An empty pointer will be returned if there is none.

pop_widget(self: open3d.cpu.pybind.visualization.gui.WidgetStack) open3d.cpu.pybind.visualization.gui.Widget#

pop the topmost widget in the stack. The new topmost widgetof stack will be the widget on the show in GUI.

push_widget(self: open3d.cpu.pybind.visualization.gui.WidgetStack, arg0: open3d.cpu.pybind.visualization.gui.Widget) None#

push a new widget onto the WidgetStack’s stack, hiding whatever widget was there before and making the new widget visible.

set_on_top(self: open3d.cpu.pybind.visualization.gui.WidgetStack, arg0: Callable[[open3d.cpu.pybind.visualization.gui.Widget], None]) None#

Callable[[widget] -> None], called while a widget becomes the topmost of stack after some widget is poppedout. It won’t be called if a widget is pushed into stackby set_widget.

set_widget(self: open3d.cpu.pybind.visualization.gui.WidgetProxy, arg0: open3d.cpu.pybind.visualization.gui.Widget) None#

set a new widget to be delegated by this one. After set_widget, the previously delegated widget , will be abandon all calls to Widget’s API will be conducted to widget. Before any set_widget call, this widget is invisible and disabled, seems it does not exist because it won’t be drawn or in a layout.

CONSUMED = <EventCallbackResult.CONSUMED: 2>#
HANDLED = <EventCallbackResult.HANDLED: 1>#
IGNORED = <EventCallbackResult.IGNORED: 0>#
property background_color#

Background color of the widget

property enabled#

True if widget is enabled, False if disabled

property frame#

The widget’s frame. Setting this value will be overridden if the frame is within a layout.

property tooltip#

Widget’s tooltip that is displayed on mouseover

property visible#

True if widget is visible, False otherwise