Шаг 40.
Библиотека Tkinter. Компоненты и вспомогательные классы. Стилизуемые компоненты. Компонент Radiobutton: переключатель

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

    Компонент переключателя представлен классом Radiobutton. Набор поддерживаемых им опций схож с таковым у флажка:

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

    Класс Radiobutton поддерживает метод 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.varL = tkinter.StringVar()
        self.varL.set("Python")
        rdb1 = tkinter.ttk.Radiobutton(self, text="Python", value="Python", 
            variable=self.varL)
        rdb1.pack()
        rdb2 = tkinter.ttk.Radiobutton(self, text="PHP", value="PHP", 
            variable=self.varL)
        rdb2.pack()
        rdb3 = tkinter.ttk.Radiobutton(self, text="Ruby", value="Ruby", 
            variable=self.varL)
        rdb3.pack()           

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

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


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

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




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