ListBox#

This example shows how to use the UI API. We will create a list some geometric shapes from FURY UI elements.

First, a bunch of imports.

from fury import ui, window
from fury.data import fetch_viz_icons

First we need to fetch some icons that are included in FURY.

Data size is approximately 12KB
Dataset is already in place. If you want to fetch it again please first remove the folder /Users/skoudoro/.fury/icons

({'icomoon.tar.gz': ('https://digital.lib.washington.edu/researchworks/bitstream/handle/1773/38478/icomoon.tar.gz', 'BC1FEEA6F58BA3601D6A0B029EB8DFC5F352E21F2A16BA41099A96AA3F5A4735')}, '/Users/skoudoro/.fury/icons')

Create some text blocks that will be shown when list elements will be selected

welcome_text = ui.TextBlock2D(text="Welcome", font_size=30,
                              position=(500, 400))
bye_text = ui.TextBlock2D(text="Bye", font_size=30, position=(500, 400))
fury_text = ui.TextBlock2D(text="Fury", font_size=30, position=(500, 400))

example = [welcome_text, bye_text, fury_text]

Hide these text blocks for now

def hide_all_examples():
    for element in example:
        element.set_visibility(False)


hide_all_examples()

Create ListBox with the values as parameter.

values = ["Welcome", "Bye", "Fury"]
listbox = ui.ListBox2D(
    values=values, position=(10, 300), size=(200, 200), multiselection=False
)

Function to show selected element.

def display_element():
    hide_all_examples()
    element = example[values.index(listbox.selected[0])]
    element.set_visibility(True)


listbox.on_change = display_element

Now that all the elements have been initialised, we add them to the show manager.

viz ui listbox

Total running time of the script: ( 0 minutes 0.079 seconds)

Gallery generated by Sphinx-Gallery