Class Name | Description |
---|---|
Application | Global application singleton. This owns the menubar, windows, and event loop |
Window | Application window |
Widget | Base widget class |
Rect | Represents a widget frame |
LayoutContext | Context passed to Window's on_layout callback |
Margins | Margins for layouts |
UIImage | A bitmap suitable for displaying with ImageWidget |
Label3D | Displays text in a 3D scene |
Menu | A menu, possibly a menu tree |
Size | Size object |
Theme | Theme parameters such as colors used for drawing widgets (read-only) |
Color | Stores color for gui classes |
FontDescription | Class to describe a custom font |
FontStyle | Font style - NORMAL, BOLD, ITALIC, BOLD_ITALIC |
KeyEvent | Object that stores key events |
KeyModifier | Key modifier identifiers - NONE, SHIFT, META, ALT, CTRL |
KeyName | Names of keys. Used by KeyEvent.key MouseButton - Mouse button identifiers - NONE, LEFT, MIDDLE, RIGHT, BUTTON4, BUTTON5 |
MouseEvent | Object that stores mouse events |
All other classes besides widget do not have child classes (AFAIK).
Button(Widget) (open3d.cuda.pybind.visualization.gui.Button) - Clickable button
RadioButton(Widget) (open3d.cuda.pybind.visualization.gui.RadioButton) - Exclusive selection from radio button list
Combobox(Widget) (open3d.cuda.pybind.visualization.gui.Combobox) - Exclusive selection from a pull-down menu
Checkbox(Widget) (open3d.cuda.pybind.visualization.gui.Checkbox) - Checkbox
ColorEdit(Widget) (open3d.cuda.pybind.visualization.gui.ColorEdit) - Color picker
NumberEdit(Widget) (open3d.cuda.pybind.visualization.gui.NumberEdit) - Allows the user to enter a number.
Slider(Widget) (open3d.cuda.pybind.visualization.gui.Slider) - A slider widget for visually selecting numbers
TextEdit(Widget) (open3d.cuda.pybind.visualization.gui.TextEdit) - Allows the user to enter or modify text
ToggleSwitch(Widget) (open3d.cuda.pybind.visualization.gui.ToggleSwitch) - ToggleSwitch
VectorEdit(Widget) (open3d.cuda.pybind.visualization.gui.VectorEdit) - Allows the user to edit a 3-space vector
Output Widgets (Rough Classification, for example Dialog can be used for output but FileDialog is also used to get inputs.)
Dialog(Widget) (open3d.cuda.pybind.visualization.gui.Dialog) - Dialog box
FileDialog(Dialog) (open3d.cuda.pybind.visualization.gui.FileDialog)
ImageWidget(Widget) (open3d.cuda.pybind.visualization.gui.ImageWidget) - Displays a bitmap
Label(Widget) (open3d.cuda.pybind.visualization.gui.Label) - Displays text
ListView(Widget) (open3d.cuda.pybind.visualization.gui.ListView) - Displays a list of text
TreeView(Widget) (open3d.cuda.pybind.visualization.gui.TreeView) - Hierarchical list
ColormapTreeCell(Widget) (open3d.cuda.pybind.visualization.gui.ColormapTreeCell) - TreeView cell with a number edit and color edit
LUTTreeCell(Widget) (open3d.cuda.pybind.visualization.gui.LUTTreeCell) - TreeView cell with checkbox, text, and color edit
CheckableTextTreeCell(Widget) (open3d.cuda.pybind.visualization.gui.CheckableTextTreeCell) - TreeView cell with a checkbox and text
ProgressBar(Widget) (open3d.cuda.pybind.visualization.gui.ProgressBar) - Displays a progress bar
SceneWidget(Widget) (open3d.cuda.pybind.visualization.gui.SceneWidget) - Displays 3D content
Layout1D(Widget) (open3d.cuda.pybind.visualization.gui.Layout1D) - Layout base class
Horiz(Layout1D) (open3d.cuda.pybind.visualization.gui.Horiz) - Horizontal layout
Vert(Layout1D) (open3d.cuda.pybind.visualization.gui.Vert) - Vertical layout
ScrollableVert(Vert) (open3d.cuda.pybind.visualization.gui.ScrollableVert) - Vertical layout with title, whose contents are collapsable
CollapsableVert(Vert) (open3d.cuda.pybind.visualization.gui.CollapsableVert) - Scrollable vertical layout
VGrid(Widget) (open3d.cuda.pybind.visualization.gui.VGrid) - Grid layout
StackedWidget(Widget) (open3d.cuda.pybind.visualization.gui.StackedWidget) - Like a TabControl but without the tabs
TabControl(Widget) (open3d.cuda.pybind.visualization.gui.TabControl) - Tab control
WidgetProxy(Widget) (open3d.cuda.pybind.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.
WidgetStack(WidgetProxy) (open3d.cuda.pybind.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.