Учебное пособие Tkinter - Радиобаттон

Jinku Hu 30 Январь 2023 18 Апрель 2020
  1. Основной пример радиобутона Tkinter
  2. Tkinter Радиобаттон - Получить значение
  3. Изменить тип индикатора Tkinter Радио Кнопка
  4. Функция обратного вызова радиобутона Tkinter
Учебное пособие Tkinter - Радиобаттон

Вы узнали label, button и Checkbutton в последних разделах. Tkinterные виджеты имеют достаточно похожие опции, свойства или методы, поэтому из этого раздела мы могли бы учиться в быстром темпе.

Radiobuton - это кнопка единственного в своем роде. В ее выборе есть несколько вариантов, но пользователь мог выбрать только один из них. Так же, как и введенные ранее виджеты, Radibutton может содержать текст или изображение и может привязывать к нему функцию обратного вызова или метод. Эта функция обратного вызова срабатывает автоматически при нажатии этой кнопки.

Основной пример радиобутона Tkinter

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

radioValue = tk.IntVar() 

 
rdioOne = tk.Radiobutton(app, text='January',
                             variable=radioValue, value=1) 
rdioTwo = tk.Radiobutton(app, text='Febuary',
                             variable=radioValue, value=2) 
rdioThree = tk.Radiobutton(app, text='March',
                             variable=radioValue, value=3)

rdioOne.grid(column=0, row=0)
rdioTwo.grid(column=0, row=1)
rdioThree.grid(column=0, row=2)

app.mainloop()

Результат вышеприведенной базовой демонстрации Radiobutton ниже

Контрольная кнопка Tkinter Основной пример

radioValue = tk.IntVar()

Так же, как и кнопка проверки, радио кнопки должны ассоциировать с ними значения определенного типа данных.

rdioOne = tk.Radiobutton(app, text='January',
                             variable=radioValue, value=1) 
rdioTwo = tk.Radiobutton(app, text='Febuary',
                             variable=radioValue, value=2) 
rdioThree = tk.Radiobutton(app, text='March',
                             variable=radioValue, value=3)

Здесь же создаются кнопки с текстом January, Febuary и March. Радио кнопки в одной группе должны и должны иметь уникальные значения.

Вопрос
Что, если у них есть дубликаты значений?

Tkinter Радиобаттон - Получить значение

Радио кнопки в одной группе имеют одну и ту же переменную radioValue, как показано в примере выше, и присваиваются различные значения с помощью опции value.

Значение выбранной радиокнопки автоматически обновляет переменную radioValue, которая является tk.IntVar.

Текст этикетки автоматически отражает значение выбранной кнопки в приведенном ниже примере кодов.

import tkinter as tk
 
app = tk.Tk() 
app.geometry('200x100')

radioValue = tk.IntVar() 

 
rdioOne = tk.Radiobutton(app, text='January',
                             variable=radioValue, value=0) 
rdioTwo = tk.Radiobutton(app, text='Febuary',
                             variable=radioValue, value=1) 
rdioThree = tk.Radiobutton(app, text='March',
                             variable=radioValue, value=2)


rdioOne.grid(column=0, row=0, sticky="W")
rdioTwo.grid(column=0, row=1, sticky="W")
rdioThree.grid(column=0, row=2, sticky="W")


labelValue = tk.Label(app, textvariable=radioValue)
labelValue.grid(column=2, row=0, sticky="E", padx=40)


app.mainloop()

Текстовая переменная лейбла лейблаValue совпадает с опцией variable радиокнопок, так что текст лейбла может автоматически обновляться сам по себе.

Значение Tkinter Radiobutton_get

Изменить тип индикатора Tkinter Радио Кнопка

По умолчанию индикатор радио кнопки представляет собой круглое отверстие с белым пробелом внутри, но его также можно заменить на окно с текстом или изображением. Текстовое поле поднимается, когда радиокнопка не выбрана, и опускается при ее нажатии.

Радиобатушка Tkinter Tutorial Радиобатушка поднята и утонула

rdioOne = tk.Radiobutton(app, text='I am raised',
                             variable=radioValue, value=1,
                             indicatoron = 0) 

Indicator является опцией для включения или выключения индикатора круглого отверстия кнопки рейда. indicatoron=indicator on.

Функция обратного вызова радиобутона Tkinter

То же самое можно сказать и о функции [Tkinter Checkbutton](/ru/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) в опции, как установить функцию обратного вызова кнопок. Используйте опцию command=.

Author: 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