World > Toolbar#

Toolbars sind normale Welten, die meist mit world.camera.add_right(toolbar) oder world.camera.add_bottom(toolbar) neben die Hauptwelt angedockt werden.

Sie sind besonders zusammen mit Buttons nützlich, weil die aktive Welt in on_message auf Toolbar-Aktionen reagieren kann.

API-Referenz#

class miniworlds.worlds.gui.toolbar.Toolbar(*args, **kwargs)[Quellcode]#

Eine Leiste, die Buttons, Labels und andere Widgets enthält.

Toolbars werden normalerweise mit world.camera.add_right(toolbar) oder world.camera.add_bottom(toolbar) neben der Hauptwelt angedockt. Widgets werden mit toolbar.add(widget) hinzugefügt oder einfach erstellt; sie registrieren sich automatisch, wenn ihre Welt auf die Toolbar gesetzt wird.

Wenn ein Button in einer Toolbar geklickt wird, sendet er seinen Label-Text als Nachricht. Die Hauptwelt reagiert darauf über on_message.

Beispiele

toolbar = Toolbar()
toolbar.add(Button("Restart"))
world.camera.add_right(toolbar)

@world.register
def on_message(self, message):
    if message == "Restart":
        world.reset()
__init__()[Quellcode]#

Create a toolbar.

Beispiele

toolbar = Toolbar()
toolbar.add(Button("Start Rocket"))
world.camera.add_right(toolbar)
rocket.started = False

@world.register
def on_message(self, message):
    if message == "Start Rocket":
        rocket.started = True

@rocket.register
def act(self):
    if self.started:
        self.move()
property background_color#

Hintergrundfarbe der Toolbar.

Beispiele

toolbar.background_color = (255, 255, 255)
Typ:

tuple

can_scroll_down(value)[Quellcode]#

Gibt True zurück, wenn die Toolbar um value Pixel nach unten scrollen kann.

Parameter:

value – Anzahl der Pixel, um die gescrollt wird.

Rückgabe:

True, wenn Scrollen möglich ist, sonst False.

Rückgabetyp:

bool

can_scroll_up(value)[Quellcode]#

Gibt True zurück, wenn die Toolbar um value Pixel nach oben scrollen kann.

Parameter:

value – Anzahl der Pixel, um die gescrollt wird.

Rückgabe:

True, wenn Scrollen nach oben möglich ist, sonst False.

Rückgabetyp:

bool

dialog#
get_widget(key)[Quellcode]#

Gibt ein Widget anhand seines Schlüssels zurück.

Rückgabetyp:

BaseWidget

Parameter:

key – The key of the widget.

Rückgabe:

Das unter key gespeicherte Widget.

Verursacht:

TypeError – Wenn kein Widget mit dem angegebenen Schlüssel existiert.

has_widget(key)[Quellcode]#

Prüft, ob die Toolbar unter key ein Widget enthält.

Parameter:

key – The widget key.

Rückgabe:

True, wenn das Widget existiert, sonst False.

Rückgabetyp:

bool

on_change()[Quellcode]#

Ordnet alle Widgets neu an, nachdem sich Größe oder Layout der Toolbar geändert haben.

So bleiben Widgets ausgerichtet, wenn die Toolbar vergrößert, verkleinert oder an einer anderen Stelle angedockt wird.

on_new_actor(actor)[Quellcode]#

Behandelt Actors, die zu dieser Toolbar-Welt hinzugefügt werden.

Widget-Actors werden in der internen Widget-Liste registriert und anschließend angepasst oder neu angeordnet, damit das Layout konsistent bleibt.

Parameter:

actor – Der Actor, der hinzugefügt wurde.

on_remove_actor(actor)[Quellcode]#

Behandelt Actors, die aus dieser Toolbar-Welt entfernt werden.

Parameter:

actor – Der Actor, der entfernt wurde.

property padding_bottom#

Definiert den unteren Abstand.

property padding_left#

Definiert den linken Abstand.

property padding_right#

Definiert den rechten Abstand.

property padding_top#

Definiert den oberen Abstand.

remove(item)[Quellcode]#

Entfernt ein Widget aus der Toolbar.

Warnung

Sei vorsichtig, wenn du dies innerhalb einer Schleife über self.widgets aufrufst.

Parameter:

item – Das zu entfernende Widget: entweder das Widget-Objekt selbst, sein Integer-Index oder sein String-Schlüssel.

remove_all_widgets()[Quellcode]#

Entfernt alle Widgets auf einmal aus der Toolbar.

Verwende dies, wenn du ein Menü neu aufbaust oder alle Bedienelemente ersetzt.

reorder()[Quellcode]#

Berechnet die Positionen aller Toolbar-Widgets neu.

Widgets werden von oben nach unten mit den eingestellten Innen- und Außenabständen gestapelt.

scroll_down(value)[Quellcode]#

Scrollt die Toolbar-Ansicht um value Pixel nach unten.

Parameter:

value – Anzahl der zu scrollenden Pixel.

scroll_up(value)[Quellcode]#

Scrollt die Toolbar-Ansicht um value Pixel nach oben.

Parameter:

value – Anzahl der zu scrollenden Pixel.

send_message(text)[Quellcode]#

Sendet eine Broadcast-Nachricht an die Welt und alle Actors.

Die Nachricht wird über das Ereignissystem verteilt und kann von jeder registrierten Methode in der Welt oder ihren Actors verarbeitet werden.

Rückgabetyp:

None

Parameter:

text – Name der zu sendenden Nachricht bzw. des Ereignisses.

Beispiel

>>> toolbar.send_message("open_menu")
update_width_and_height()[Quellcode]#

Aktualisiert zwischengespeicherte Toolbar-Abmessungen nach einer Layoutänderung.

Dieser Hook wird intern beim Andocken oder Ändern der Toolbar-Größe verwendet.