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"

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 list oder einem dictionary auswählen

AutocompleteInput

wählt einen value aus einem sich automatisch vervollständigenden Textfeld

DiscretePlayer

zeigt Steuerelemente des mediaplayer an, mit denen ihr die verfügbaren Optionen abspielen und durchgehen könnt

DiscreteSlider

wählt einen Wert mit einem Schieberegler

RadioButtonGroup

wählt einen Wert aus einer Reihe sich gegenseitig ausschließender Umschalttasten

RadioBoxGroup

wählt einen Wert aus einer Reihe sich gegenseitig ausschließender Kontrollkästchen aus

Select

wählt einen Wert aus einem Dropdown-Menü

Mehrere Werte

Mit diesen Widgets könnt ihr mehrere Werte aus einer list oder einem dictionary auswählen

CheckBoxGroup

wählt Werte aus, indem ihr die entsprechenden Kontrollkästchen aktiviert

CheckButtonGroup

wählt Werte aus, indem ihr die entsprechenden Schaltflächen umschaltet

CrossSelector

wählt Werte aus, indem ihr Elemente zwischen zwei Listen verschiebt

MultiSelect

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 value-Typs

Numerisch

Numerische Selektoren sind durch start und end-Werte begrenzt

IntSlider

wählt mit einem Schieberegler einen ganzzahligen Wert innerhalb eines festgelegten Bereichs aus

FloatSlider

wählt mit einem Schieberegler einen Gleitkommawert innerhalb eines festgelegten Bereichs aus

Player

zeigt Steuerelemente des mediaplayer an, mit denen ihr eine Reihe von Ganzzahlwerten abspielen und durchlaufen könnt

Boolesche Werte

Checkbox

Schaltet eine einzelne Bedingung zwischen True/False um, indem ein Kontrollkästchen aktiviert wird

Toggle

Umschalten einer einzelnen Bedingung zwischen True/False-Zuständen durch Klicken auf eine Schaltfläche

Termine

DatetimeInput

wählt mit einem Textfeld und dem Dienstprogramm zur Datumsauswahl des Browsers einen Datumswert aus

DatePicker

gebt einen Datums-/Uhrzeitwert als Text ein und analysiert ihn mit einem vordefinierten Formatierer

DateSlider

wählt mit einem Schieberegler einen Datumswert innerhalb eines festgelegten Bereichs aus.

Text

TextInput

gebt eine beliebige Zeichenfolge über ein Texteingabefeld ein

Andere

ColorPicker

wählt eine Farbe mit den Farbauswahl-Dienstprogrammen des Browsers aus.

FileInput

Ladet eine Datei vom Frontend hoch und macht die Daten und den MIME-Typ in Python verfügbar

LiteralInput

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 (lower, upper)-Tupel für den value-Parameter gespeichert ist

Numerisch

IntRangeSlider

wählt mit einem Schieberegler mit zwei Ziehpunkten einen ganzzahligen Bereich aus

RangeSlider

wählt mit einem Schieberegler mit zwei Ziehpunkten einen Gleitkommabereich aus

Termine

DateRangeSlider

wählt mit einem Schieberegler mit zwei Ziehpunkten einen Datumsbereich aus

Andere

Audio

zeigt einen Audio-Player an, dem eine Audiodatei lokal oder Remote zugewiesen wurde, und ermöglicht den Zugriff und die Steuerung des Player-Status

Button

ermöglicht das Auslösen von Ereignissen, wenn auf die Schaltfläche geklickt wird; im Gegensatz zu anderen Widgets hat es keinen value-Parameter