Widgets¶
Panel
bietet eine breite Palette von Widgets zur präzisen Steuerung von Parameter-Werten. Die Widget-Klassen verwenden eine konsistente API, mit der breite Kategorien von Widgets als austauschbar behandelt werden können. Um beispielsweise einen Wert aus einer Liste von Optionen auszuwählen, können Sie ein SelectWidget
, ein RadioButtonGroup
-Widget oder ein gleichwertiges Widget austauschbar verwenden.
Wie alle anderen Komponenten in Panel
, können auch Widget
-Objekte ihren Zustand sowohl im Notebook als auch auf dem Bokeh-Server synchronisieren:
[1]:
import panel as pn
pn.extension()
[2]:
widget = pn.widgets.TextInput(name="A widget", value="A string")
widget
[2]:
Wenn ihr den Textwert ändert, wird der entsprechende Parameter automatisch aktualisiert:
[3]:
widget.value
[3]:
'A string'
Durch Aktualisieren des Parameter-Werts wird auch das Widget aktualisiert:
[4]:
widget.value = "Another string"
Callbacks und Links¶
Um eine Parameter-Änderung mitzubekommen, können wir widget.param.watch
mit dem zu beobachtenden Parameter un einer Funktion aufrufen:
[5]:
from __future__ import print_function
widget.param.watch(print, "value")
[5]:
Watcher(inst=TextInput(name='A widget', value='Another string'), cls=<class 'panel.widgets.input.TextInput'>, fn=<built-in function print>, mode='args', onlychanged=True, parameter_names=('value',), what='value', queued=False, precedence=0)
Wenn wir widget.value
nun ändern, wird das resultierende Event ausgegeben.
[6]:
widget.value = "A"
Event(what='value', name='value', obj=TextInput(name='A widget', value='A'), cls=TextInput(name='A widget', value='A'), old='Another string', new='A', type='changed')
PanelWidgets ermöglichen in Kombination mit Objekten die einfache Erstellung interaktiver Dashboards und Visualisierungen. Weitere Informationen zum Definieren von Rückrufen und Verknüpfungen zwischen Widgets und anderen Komponenten findet ihr im Benutzerhandbuch zu Verknüpfungen .
Widgets¶
Um mehrere Widgets zusammenzustellen, können sie zu einemRow
-, Column
- oder Tabs
-Panel hinzugefügt werden. Weitere Informationen zum Layout von Widgets und Bedienfeldern findet ihr in Declare Custom Widgets.
[7]:
slider = pn.widgets.FloatSlider(name="Another widget", width=200)
pn.Column(widget, slider, width=200)
[7]:
Widget-Kategorien¶
Die unterstützten Widgets können anhand ihrer kompatiblen APIs in verschiedene Kategorien eingeteilt werden.
Optionsauswahl¶
Mit Optionsauswahl-Widgets könnt ihr einen oder mehrere Werte aus einer list
oder einem dictionary
auswählen. Alle Widgets dieses Typs haben options
und value
-Parameter.
Optionen |
Widget |
Beschreibung |
---|---|---|
Einzelwerte |
Mit diesen Widgets könnt ihr einen Wert aus einer |
|
|
wählt einen |
|
|
zeigt Steuerelemente des |
|
|
wählt einen Wert mit einem Schieberegler |
|
|
wählt einen Wert aus einer Reihe sich gegenseitig ausschließender Umschalttasten |
|
|
wählt einen Wert aus einer Reihe sich gegenseitig ausschließender Kontrollkästchen aus |
|
|
wählt einen Wert aus einem Dropdown-Menü |
|
Mehrere Werte |
Mit diesen Widgets könnt ihr mehrere Werte aus einer |
|
|
wählt Werte aus, indem ihr die entsprechenden Kontrollkästchen aktiviert |
|
|
wählt Werte aus, indem ihr die entsprechenden Schaltflächen umschaltet |
|
|
wählt Werte aus, indem ihr Elemente zwischen zwei Listen verschiebt |
|
|
wählt Werte aus, indem ihr sie in einer Liste markiert |
Typ-basierte Selektoren¶
Typ-basierte Selektoren bieten die Möglichkeit, einen Wert entsprechend seinem Typ auszuwählen. Alle Selektoren verfügen über value
. Die Widgets in dieser Kategorie können über den Typ hinaus auch andere Validierungsformen aufweisen, z.B. die obere und untere Grenze von Schiebereglern.
Typen |
Widget |
Beschreibung |
|
---|---|---|---|
Einzelwerte |
erlaubt die Auswahl eines einzelnen |
||
Numerisch |
Numerische Selektoren sind durch |
||
|
wählt mit einem Schieberegler einen ganzzahligen Wert innerhalb eines festgelegten Bereichs aus |
||
|
wählt mit einem Schieberegler einen Gleitkommawert innerhalb eines festgelegten Bereichs aus |
||
|
zeigt Steuerelemente des |
||
Boolesche Werte |
|||
|
Schaltet eine einzelne Bedingung zwischen |
||
|
Umschalten einer einzelnen Bedingung zwischen |
||
Termine |
|||
|
wählt mit einem Textfeld und dem Dienstprogramm zur Datumsauswahl des Browsers einen Datumswert aus |
||
|
gebt einen Datums-/Uhrzeitwert als Text ein und analysiert ihn mit einem vordefinierten Formatierer |
||
|
wählt mit einem Schieberegler einen Datumswert innerhalb eines festgelegten Bereichs aus. |
||
Text |
|||
|
gebt eine beliebige Zeichenfolge über ein Texteingabefeld ein |
||
Andere |
|||
|
wählt eine Farbe mit den Farbauswahl-Dienstprogrammen des Browsers aus. |
||
|
Ladet eine Datei vom Frontend hoch und macht die Daten und den MIME-Typ in Python verfügbar |
||
|
gebt ein beliebiges Python-Literal über ein Texteingabefeld ein, das dann in Python analysiert wird |
||
Bereiche |
ermöglicht die Auswahl eines Wertebereichs des entsprechenden Typs, der als |
||
Numerisch |
|||
|
wählt mit einem Schieberegler mit zwei Ziehpunkten einen ganzzahligen Bereich aus |
||
|
wählt mit einem Schieberegler mit zwei Ziehpunkten einen Gleitkommabereich aus |
||
Termine |
|||
|
wählt mit einem Schieberegler mit zwei Ziehpunkten einen Datumsbereich aus |
||
Andere |
|||
|
zeigt einen Audio-Player an, dem eine Audiodatei lokal oder Remote zugewiesen wurde, und ermöglicht den Zugriff und die Steuerung des Player-Status |
||
|
ermöglicht das Auslösen von Ereignissen, wenn auf die Schaltfläche geklickt wird; im Gegensatz zu anderen Widgets hat es keinen |