Tkinter Tutorial - Checkbutton

  1. Tkinter Checkbutton Einfaches Beispiel
  2. Tkinter Checkbutton Selektieren/Delektieren
  3. Tkinter Checkbutton Status Toggle
  4. Tkinter Checkbutton Callback Funktionsbindung
  5. Tkinter Checkbutton ändern Standardwert

Das Checkbutton-Widget ist ein Widget, das einen Wert enthält. Checkbuttons können entweder Text oder Bilder enthalten. Es könnte auch die Callback-Funktion verlinken, die aufgerufen wird, wenn der Checkbutton angeklickt wird.

Um ein Checkbutton-Widget in einem bestehenden Elternfenster zu erstellen, verwenden Sie

tk.Checkbutton(parent, option, ...)

Tkinter Checkbutton Einfaches Beispiel

Tkinter CheckButton_Basic.py
import tkinter as tk
 
app = tk.Tk() 
app.geometry('150x100')

chkValue = tk.BooleanVar() 
chkValue.set(True)
 
chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue) 
chkExample.grid(column=0, row=0)
 
app.mainloop()

Tkinter Tutorial Checkbutton Grundlegendes Beispiel

chkValue = tk.BooleanVar() 

Jeder Checkbutton sollte mit einer Variablen verknüpft sein. Der Datentyp der Variablen wird durch den Checkbutton beim Markieren/Deaktivieren bestimmt.

chkValue.set(True)

Er setzt den ursprünglichen Wert des Checkbuttons. Da sie nur mit dem Datentyp Boolean zugewiesen wird, haben Sie hier nur zwei Möglichkeiten, True oder False.

chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue) 

Nun wird die Instanz des Checkbuttons schließlich mit der oben gemachten Variablen chkValue erzeugt.

chkExample.grid(column=0, row=0)

grid ist ein weiterer Typ von Tkinter-Layoutmanagern neben pack, der in der Sektion Tkinter Label eingeführt wurde.

Tkinter hat drei Layout-/Geometrie-Manager,

  • pack
  • grid
  • place

Wir werden diese Layout-/Geometrie-Manager in einem Abschnitt dieses Tutorials vorstellen.

Tkinter Checkbutton Selektieren/Delektieren

Der Benutzer kann den Checkbutton in der GUI anklicken, um den Button zu aktivieren oder zu deaktivieren. Sie können den Checkbutton auch mit den Methoden select() und deselect() an- oder abwählen.

chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.select()
print "The checkbutton value when deselected is {}".format(chkValue.get())
The checkbutton value when selected is True
The checkbutton value when deselected is False

Hier wird der Wert des Checkbuttons mit der Methode get() ermittelt.

Tkinter Checkbutton Status Toggle

Der Zustand des Check-Buttons kann durch select() und deselect() verändert werden, und er kann auch mit der toggle() Methode umgeschaltet werden.

Tkinter CheckButton_Select_Deselect.py
import tkinter as tk
 
app = tk.Tk() 
app.geometry('150x100')

chkValue = tk.BooleanVar() 
chkValue.set(True)
 
chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue) 
chkExample.grid(column=0, row=0)


print "The checkbutton original value is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled twice is {}".format(chkValue.get())

app.mainloop()
The checkbutton original value is True
The checkbutton value after toggled is False
The checkbutton value after toggled twice is True

Tkinter Checkbutton Callback Funktionsbindung

Das Checkbutton-Widget wird verwendet, um die Zustände auszuwählen und es könnte auch die Rückruf-Funktion an das Ereignis binden, wenn es ausgewählt/abgewählt oder einfacher umgeschaltet wird. Immer wenn der Checkbutton-Zustand umgeschaltet wird, wird die Rückruf-Funktion ausgelöst.

Tkinter CheckButton_CallBack.py
import tkinter as tk
from _cffi_backend import callback
 
def callBackFunc():
    print "Oh. I'm clicked"
    
app = tk.Tk() 
app.geometry('150x100')

chkValue = tk.BooleanVar() 
chkValue.set(True)
 
chkExample = tk.Checkbutton(app, text='Check Box', 
                            var=chkValue, command=callBackFunc) 
chkExample.grid(column=0, row=0)

app.mainloop()

Jedes Mal, wenn Sie die Prüftaste drücken, können Sie sehen, dass sie Oh. I'm clicked in der Konsole ausgibt.

Die Option command in der Checkbutton-Klasse ist dazu gedacht, die Rückruf-Funktion oder -Methode zu binden, wenn der Button gedrückt wird.

Tkinter Checkbutton ändern Standardwert

Der Standardwert für nicht selektierte Checkbuttons ist 0, und der Standardwert für selektierte Checkbuttons ist 1, und Sie können auch die Checkbutton-Vorschlagswerte und den zugehörigen Datentyp auf den anderen Wert und/oder Datentyp ändern.

Tkinter CheckButton_Select_OnValue_OffValue.py
import tkinter as tk
 
app = tk.Tk() 
app.geometry('150x100')

chkValue = tk.StringVar() 
 
chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue,
                            onvalue="RGB", offvalue="YCbCr") 
chkExample.grid(column=0, row=0)

chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.deselect()
print "The checkbutton value when deselected is {}".format(chkValue.get())

app.mainloop()

The checkbutton value when selected is RGB
The checkbutton value when deselected is YCbCr
chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue,
                            onvalue="RGB", offvalue="YCbCr") 

onvalue und offvalue sind Optionen, um die Werte der selektierten und nicht selektierten Zustände zu ändern. Sie könnten Datentypen wie Int, String, Float oder andere haben.

Achtung

Der Tkinter-Datentyp, der der Prüftaste zugeordnet ist, muss der gleiche sein wie der von onvalue und offvalue. Andernfalls meldet er _tkinter.TclError.