453
15.10
Die Klasse Radiobutton
Erläuterung:
#1: Dictionary mit Name und Passwort. Achtung! Diese Art, geheime Passwörter zu verarbei-
ten, widerspricht den Regeln des Datenschutzes. Passwörter sollten niemals unverschlüsselt
in Programmtexten vorkommen. Mehr dazu in Kapitel 24.
#2: Entry-Widget ohne vorgegebenen Text.
#3: Entry-Widget für das Passwort. Es zeigt anstelle der eingegebenen Buchstaben nur
Sternchen.
#4: In dieser und den folgenden Zeilen werden die Widgets in das Anwendungsfenster
gepackt. Die Optionen
padx und pady bewirken, dass zwischen den Widgets etwas Abstand
(Zahlenangaben in Pixel) bleibt.
#5: Lesender Zugriff auf das Entry-Widget self.name.
#6: Die Einträge in den Entry-Widgets werden gelöscht.
15.10 Die Klasse Radiobutton
Radiobuttons sind Schaltflächen für eine »Eins-aus-n-Wahl«. Das heißt: Von einer zusam-
mengehörenden Gruppe von Radiobuttons kann immer nur höchstens einer ausgewählt
sein. Klickt man auf einen Radiobutton, so wird dieser selektiert und die anderen der
Gruppe deselektiert (das heißt, eine bestehende Selektion wird aufgehoben). Abbildung
15.16 zeigt eine Anwendung mit Radiobuttons in verschiedenen Zuständen.
Abb. 15.16: Radiobuttons zur Auswahl einer Sprache
Mit jedem Radiobutton-Widget ist ein Wert assoziiert, der in der Option value eingetragen
ist. Zusammengehörende Radiobuttons besitzen eine gemeinsame Kontrollvariable, die den
Wert (Option
value) des aktuell ausgewählten Radiobuttons speichert. Die Kontrollvariable
ist ein Objekt der Klassen
StringVar, DoubleVar oder IntVar (siehe Abschnitt 15.8.2).
Für Radiobuttons gibt es zwei unterschiedliche Erscheinungsformen, die mit der Option
indicatoron ausgewählt werden können (siehe Abbildung 15.17)
self.name.config(text='')
l = Login()
Kapitel 15
Grafische Benutzungsoberflächen mit tkinter
454
Abb. 15.17: Zwei Erscheinungsformen für Radiobuttons
Das folgende Skript implementiert eine kleine Anwendung mit Radiobuttons, die einen Text
in verschiedenen Sprachen ausgibt (siehe Abbildung 15.16).
Skript:
Attribut Erklärung
command Bei jedem Anklicken des Radiobuttons wird die angegebene parameterlose
Funktion oder Methode aufgerufen.
height Anzahl der Textzeilen, Default ist 1.
indicatoron Wahl des Erscheinungsbildes. Hat diese Option den Wert 1 (Default), so
zeigt sich der Radiobutton als Indikatorfeld mit einem Label rechts dane-
ben. Im Fall
indicatoron=0 ist es eine Schaltfläche mit dem Label darauf.
text Text des Labels
value Wert des Radiobuttons (String oder Zahl). Der Datentyp hängt vom Typ der
Kontrollvariablen ab. Wenn der Radiobutton gesetzt wird, erhält die Kon-
trollvariable diesen Wert.
variable Name der Kontrollvariablen für die Gruppe, zu der der Radiobutton gehört
width Breite des Radiobuttons als Anzahl der dargestellten Zeichen. Wenn diese
Option nicht gesetzt ist, passt sich die Größe dem Label auf dem Button an.
Tabelle 15.3: Spezielle Optionen der Klasse Radiobutton
Methode Erklärung
deselect()
Setzt den Radiobutton zurück.
select()
Radiobutton wird gesetzt.
Tabelle 15.4: Die wichtigsten Methoden der Klasse Radiobutton
# intergruss.pyw
from tkinter import *
fenster = Tk()
gru s s = S t r ing V a r() #1
engl = Radiobutton(fenster, text='englisch ',
value='Hello', variable=gruss) #2

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.