Tkinter Tutorial - Checkbutton

Jinku Hu 30 Januar 2023
  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
Tkinter Tutorial - Checkbutton

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

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.

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.

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.

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.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook