open3d.visualization.gui.WidgetProxy

class open3d.visualization.gui.WidgetProxy

Widget container to delegate any widget dynamically. Widget can not be managed dynamically. Although it is allowed to add more child widgets, it’s impossible to replace some child with new on or remove children. WidgetProxy is designed to solve this problem. When WidgetProxy is created, it’s invisible and disabled, so it won’t be drawn or layout, seeming like it does not exist. When a widget is set by set_widget, all Widget’s APIs will be conducted to that child widget. It looks like WidgetProxy is that widget. At any time, a new widget could be set, to replace the old one. and the old widget will be destroyed. Due to the content changing after a new widget is set or cleared, a relayout of Window might be called after set_widget. The delegated widget could be retrieved by get_widget in case you need to access it directly, like get check status of a CheckBox. API other than set_widget and get_widget has completely same functions as Widget.

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

Members:

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.WidgetProxy) → None

Creates a widget proxy

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.

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