ttk.Checkbutton
ttk.Checkbutton erzeugen
cb = ttk.Checkbutton(parent, Optionen)
Optionsname | Beschreibung |
---|---|
command | Callback, wird bei sich änderdem Checkstatus aufgerufen |
offvalue | Wert für "aus". Default ist 0 (Null) |
onvalue | Wert für "an". Default ist 1 (Eins) |
variable | eine Variable, die den aktuellen on/offvalue festhält und ausgelesen werden kann |
ttk.Checkbutton kennt die Standardoptionen: class_, compound, cursor, image, state, style, takefocus, text, textvariable, underline und width
Das folgende Programm stellt zwei Checkbuttons bereit und reagiert auf Knopfdruck:
import tkinter as tk
from tkinter import ttk
class A(tk.Tk):
def __init__(self):
super().__init__()
self.geometry("300x200")
self._createWidgets()
def _createWidgets(self):
self.ivar = tk.IntVar(value=1)
c = ttk.Checkbutton(self, text='Check mich!',
variable=self.ivar,
command=self.onCheck)
c.pack()
self.svar = tk.StringVar()
c = ttk.Checkbutton(self, text='Mich auch, bitte',
variable=self.svar,
onvalue='JA', offvalue='NEIN!',
command=self.onCheck)
c.pack()
def onCheck(self):
print(self.ivar.get(), self.svar.get())
if __name__ == '__main__':
window = A()
window.mainloop()
Methoden
- ttk.Checkbutton kennt die Methode
cb.invoke()
: Ruft die zum Button gehörende Callback auf, Selektiert/Deselektiert den Button. - Konfigurationsmethoden:
cget(…)
undconfigure(…)
- Sonstige Methoden:
identify(…)
,instate(…)
undstate(…)
Toolbutton
Für eine schnelle Style-variante ohne Rahmen und Feld mit Haken kann man auf Toolbutton
zurückgreifen. Hier die zwei Styles im Vergleich:
import tkinter as tk
from tkinter import ttk
class A(tk.Tk):
def __init__(self):
super().__init__()
self.geometry("300x200")
self._createWidgets()
def _createWidgets(self):
ttk.Checkbutton(self, text='Check mich!').pack()
ttk.Checkbutton(self, text='Check mich!', style='Toolbutton').pack()
if __name__ == '__main__':
window = A()
window.mainloop()