Шаг 39.
Библиотека Tkinter. Компоненты и вспомогательные классы. Стилизуемые компоненты. Компонент Checkbutton: флажок

    На этом шаге мы рассмотрим назначение, свойства и пример использования этого виджета.

    Компонент флажка представляется классом Checkbutton. Он поддерживает следующие опции:

    Опции, задаваемые только посредством стилей:

    Класс Checkbutton поддерживает метод invoke(), который при вызове изменяет состояние флажка - со сброшенного на установленное или наоборот.

    Вот пример кода, в котором флажок используется для управления доступностью поля ввода: при установке флажка поле ввода становится доступным, а при сбросе - недоступным:

import tkinter
import tkinter.ttk

class Application(tkinter.ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        # Обязательно указываем ширину и высоту контейнера посредством
        # опций width и height соответственно
        self.configure(width=200, height=100)
        self.pack(padx=4, pady=4)
        self.create_widgets()
        self.master.title("Проверка значений")
        # Запрещаем изменять размеры окна
        self.master.resizable(False, False)

    def create_widgets(self):
        self.var = tkinter.BooleanVar()
        self.var.set(False)
        btnToggle = tkinter.ttk.Checkbutton(self, 
            text="Xoтите получать оповещения по почте?", variable=self.var, 
            onvalue=True, offvalue=False, command=self.toggle)
        btnToggle.pack()
        self.entEmail = tkinter.ttk.Entry(self)
        self.entEmail.pack()
        self.toggle()

    def toggle(self):
        if self.var.get():
            self.entEmail.state(["!disabled"])
        else:
            self.entEmail.state(["disabled"])
           

root = tkinter.Tk()
app = Application(master=root)
root.mainloop()
Архив с файлом можно взять здесь.

    Результат работы приложения приведен на рисунке 1.


Рис.1. Результат работы приложения

    На следующем шаге мы рассмотрим виджет Radiobutton.




Предыдущий шаг Содержание Следующий шаг