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


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