Tkinter Tutorial - Чек-кнопка
- Контрольная кнопка Tkinter Основной пример
- Кнопка Выбор/Выберите
- Tkinter Checkbutton State Toggle
- Привязка функции обратного вызова Tkinter Checkbutton
- Изменить Tkinter Checkbutton Значение по умолчанию

Виджет Checkbutton
- это виджет со значением. Чековые кнопки могут содержать как текст, так и изображения. Он также может связать функцию обратного вызова, которая будет вызвана при нажатии на чек-кнопку.
Для создания виджета с чек-кнопками в существующем родительском окне используйте
tk.Checkbutton(parent, option, ...)
Контрольная кнопка Tkinter Основной пример
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()
chkValue = tk.BooleanVar()
Каждая контрольная кнопка должна быть связана с переменной. Тип данных переменной определяется с помощью контрольной кнопки при ее выборе/отключении.
chkValue.set(True)
При этом устанавливается исходное значение контрольной кнопки. Так как она просто присваивается к типу данных Boolean
, то здесь у Вас есть только две опции, True
или False
.
chkExample = tk.Checkbutton(app, text='Check Box', var=chkValue)
Теперь экземпляр контрольной кнопки в конечном итоге создается с помощью переменной chkValue
, которую мы сделали выше.
chkExample.grid(column=0, row=0)
grid
- это другой тип управляющих элементов компоновки кинтера, кроме пакета
, представленного в разделе Tkinter Label.
В Tkinter есть три менеджера верстки/геометрии,
пакет
сетка
место
Мы познакомим вас с менеджерами по верстке/геометрии в одном из разделов этого руководства.
Кнопка Выбор/Выберите
Пользователь может нажать кнопку с флажком в графическом интерфейсе, чтобы выбрать или отменить выбор. Вы также можете выбрать или снять выделение с кнопки, используя методы select()
и deselect()
.
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
Здесь значение контрольной кнопки получается методом get()
.
Tkinter Checkbutton State Toggle
Состояние кнопки проверки может быть изменено с помощью select()
и deselect()
, а также может быть переключено с помощью метода toggle()
.
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
Виджет чек-кнопок используется для выбора состояний, а также может привязывать функцию обратного вызова к событию, когда оно выбрано/отключено, или более прямолинейно, переключено. Всякий раз, когда переключается состояние кнопки с флажком, включается функция обратного вызова.
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()
Каждый раз, когда Вы нажимаете на контрольную кнопку, Вы можете видеть, что она печатает Oh. I'm clicked
Опция команда
в классе Checkbutton предназначена для привязки функции или метода обратного вызова при нажатии кнопки.
Изменить Tkinter Checkbutton Значение по умолчанию
Значение по умолчанию, соответствующее невыбранной контрольной кнопке, равно 0, а значение по умолчанию для выбранной контрольной кнопки равно 1. Также можно изменить значения по умолчанию для контрольной кнопки и связанные с ней типы данных на другие значения и/или типы данных.
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
и offvalue
- это опции изменения значений выбранных и невыбранных состояний. Они могут иметь такие типы данных, как Int
, String
, Float
или другие.
_tkinter.TclError
.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