list_box¶
ListBoxes make use of a ListBoxRenderer. The default ListBoxRenderer simply displays an item’s string representation. To make your own ListBoxRenderer create a class that has a render_item() method that accepts the item to be rendered and returns a widget to render.
Here is an simple example of using the ListBox widget:
class MySys(bgui.System):
def lb_click(self, lb):
print(lb.selected)
def __init__(self):
bgui.System.__init__(self)
items = ["One", "Two", 4, 4.6]
self.frame = bgui.Frame(self, 'window', border=2, size=[0.5, 0.5],
options=bgui.BGUI_DEFAULT|bgui.BGUI_CENTERED)
self.lb = bgui.ListBox(self.frame, "lb", items=items, padding=0.05, size=[0.9, 0.9], pos=[0.05, 0.05])
self.lb.on_click = self.lb_click
# ... rest of __init__
-
class
bgui.list_box.
ListBoxRenderer
(listbox)¶ Bases:
object
Base class for rendering an item in a ListBox
Parameters: listbox – the listbox the renderer will be used with (used for parenting) -
render_item
(item)¶ Creates and returns a
bgui.label.Label
representation of the supplied itemParameters: item – the item to be rendered Return type: bgui.label.Label
-
-
class
bgui.list_box.
ListBox
(parent, name=None, items=[], padding=0, aspect=None, size=[1, 1], pos=[0, 0], sub_theme='', options=0)¶ Bases:
bgui.widget.Widget
Widget for displaying a list of data
Parameters: - parent – the widget’s parent
- name – the name of the widget
- items – the items to fill the list with (can also be changed via ListBox.items)
- padding – the amount of extra spacing to put between items (can also be changed via ListBox.padding)
- aspect – constrain the widget size to a specified aspect ratio
- size – a tuple containing the width and height
- pos – a tuple containing the x and y position
- sub_theme – name of a sub_theme defined in the theme file (similar to CSS classes)
- options – various other options
-
theme_section
= 'ListBox'¶
-
theme_options
= {'Padding': 0, 'HighlightColor4': (0, 0, 1, 1), 'HighlightColor3': (0, 0, 1, 1), 'HighlightColor1': (1, 1, 1, 1), 'Border': 1, 'HighlightColor2': (0, 0, 1, 1)}¶
-
padding
= None¶ The amount of extra spacing to put between items
-
renderer
= None¶ The ListBoxRenderer to use to display items
-
items
¶ The list of items to display in the ListBox