OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
Supported by

Formular-Widgets und Schlüsselwörter

Screenshot

/pages/de/manual/forms/img/widgets/widgets.png

Figure 1. Eine Liste der verfügbaren form Widgets.

Widgets und Schlüsselwörter

Alle Schlüsselwörter sind optional, außer anders angegeben.

Formular

Die Schlüsselwörter cols und rows können entweder einzelne int Werte sein, in diesem Fall geben sie die Anzahl der gleichgroßen Spalten und Zeilen an, oder Listen von int, in diesem Fall geben sie die relativen Größen jeder Spalte und Zeile an. Weitere Informationen zur Formgeometrie finden Sie unter:

Das Schlüsselwort validator kann verwendet werden, um die Eingabe im Formular zu validieren. Weitere Informationen finden Sie unter:

(In OpenSesame Skript muss ein Formular nicht explizit erstellt werden.)

Python-Skript:

form = Form(
    cols=2, rows=2, spacing=10, margins=(100, 100, 100, 100), theme='gray',
    timeout=None, clicks=False, validator=None
)
button = Button(text='Ok!')
form.set_widget(button, (0, 0))
form._exec()

button / Button

OpenSesame Skript:

widget 0 0 1 1 button text="Klick mich!" center=yes frame=yes var=response

Python-Skript:

form = Form()
button = Button(text='Klick mich!', frame=True, center=True, var='response')
form.set_widget(button, (0, 0))
form._exec()

checkbox / Checkbox

Wenn eine Gruppe angegeben ist, wird das Ankreuzen einer Checkbox aus dieser Gruppe alle anderen Checkboxen aus dieser Gruppe deaktivieren. Checkboxen, die Teil einer Gruppe sind, können nicht deaktiviert werden, es sei denn, indem man auf eine andere Checkbox in der Gruppe klickt.

Das Schlüsselwort group hat auch Auswirkungen darauf, wie Variablen gespeichert werden, wie hier beschrieben:

OpenSesame Skript:

widget 0 0 1 1 checkbox group=group text="Option 1"
widget 0 1 1 1 checkbox group=group text="Option 2"

Python-Skript:

form = Form()
checkbox1 = Checkbox(text='Option 1', group='group')
checkbox2 = Checkbox(text='Option 2', group='group')
form.set_widget(checkbox1, (0, 0))
form.set_widget(checkbox2, (0, 1))
form._exec()

image / ImageWidget

Das Python-Objekt heißt ImageWidget, um es vom Image Canvas-Element zu unterscheiden.

OpenSesame Skript:

# Nur path ist ein erforderliches Schlüsselwort
widget 0 0 1 1 image path="my_image.png" adjust=yes frame=no

Python-Skript:

# Nur path ist ein erforderliches Schlüsselwort
form = Form()
image = ImageWidget(path=pool['my_image.png'], adjust=True, frame=False)
form.set_widget(image, (0, 0))
form._exec()

image_button / ImageButton

Das Schlüsselwort image_id wird verwendet, um das Bild-Button beim Klicken zu identifizieren. Wenn keine image_id angegeben ist, wird der Pfad zum Bild als ID verwendet.

OpenSesame Skript:

# Nur path ist ein erforderliches Schlüsselwort
widget 0 0 1 1 image_button path="my_image.png" adjust=yes frame=no image_id=my_image var=response

Python-Skript:

# Nur path ist ein erforderliches Schlüsselwort
form = Form()
image_button = ImageButton(
    path=pool['my_image.png'], adjust=True, frame=False,
    image_id='my_image', var='response'
)
form.set_widget(image_button, (0, 0))
form._exec()

label / Label

OpenSesame Skript:

widget 0 0 1 1 label text="Mein Text" frame=no center=yes

Python-Skript:

form = Form()
label = Label(text='Mein Text', frame=False, center=True)
form.set_widget(label, (0,0))
form._exec()

rating_scale / RatingScale

Das Schlüsselwort nodes kann ein int oder eine durch Semikolon getrennte Liste von Bezeichnungen sein. Wenn nodes ein int ist, gibt es die Anzahl der (nicht beschrifteten) Knoten an.

Das Schlüsselwort default zeigt an, welche Knotennummer standardmäßig ausgewählt ist, wobei der erste Knoten 0 ist.

OpenSesame Skript:

widget 0 1 1 1 rating_scale var=response nodes="Zustimmen;Weiß nicht;Ablehnen" click_accepts=no orientation=horizontal var=response default=0

Python-Skript:

form = Form()
rating_scale = RatingScale(
    nodes=['Zustimmen', u"Weiß nicht", 'Ablehnen'], click_accepts=False,
    orientation='horizontal', var='antwort', default=0
)
form.set_widget(rating_scale, (0, 0))
form._exec()

text_input / TextInput

Das stub Stichwort gibt den Platzhaltertext an, der angezeigt wird, wenn noch kein Text eingegeben wurde. Das key_filter Stichwort, das nur in Python verfügbar ist, gibt eine Funktion an, um Tastenanschläge zu filtern. Dies wird unter folgendem Link ausführlicher beschrieben:

OpenSesame Skript:

widget 0 0 1 1 text_input text="Anfangstext" frame=yes center=no stub="Hier tippen …" return_accepts=yes var=antwort

Python Skript:

form = Form()
text_input = TextInput(
    text='Anfangstext', frame=True, center=False, stub='Hier tippen …',
    return_accepts=True, var='antwort', key_filter=my_filter_function
)
form.set_widget(text_input, (0, 0))
form._exec()
Supported by