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)oderworld.camera.add_bottom(toolbar)neben der Hauptwelt angedockt. Widgets werden mittoolbar.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:
- 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:
- 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:
- 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:
- 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.widgetsaufrufst.- 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:
- 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.