Главная


20. Виджет Radiobutton

Радиобаттоны - это наборы связанных между собой виджетов, которые позволяют пользователю выбрать только один из множества вариантов. Каждая радиокнопка состоит из двух частей, индикатора и метки:

Чтобы создать новый виджет Radiobutton в качестве дочернего элемента корневого окна или фрейма с именем parent:

w = tk.Radiobutton(parent, option, ...)

Этот конструктор возвращает новый виджет Radiobutton. Опции:

Таблица 29. Опции виджета Radiobutton

activebackground Цвет фона при наведении курсора мыши на радиобаттон. См. Раздел 5.3, "Цвета".
activeforeground Цвет переднего плана при наведении курсора мыши на радиобаттон.
anchor Если виджет занимает пространство больше, чем ему нужно, этот параметр определяет, где будет располагаться radiobutton в этом пространстве. По умолчанию используется значение anchor=tk.CENTER. Другие варианты позиционирования см. в Раздел 5.5, "Якоря". Например, если задать anchor=tk.NE, то радиобаттон будет размещен в правом верхнем углу доступного пространства.
bg или background Обычный фоновый цвет за индикатором и меткой.
bitmap Чтобы отобразить битовое изображение на радиокнопке, установите этот параметр в качестве битмапа.
bd или borderwidth Размер границы вокруг индикатора. По умолчанию - два пикселя. Возможные значения см. в Раздел 5.1, "Размеры".
command Процедура, которая будет вызываться каждый раз, когда пользователь изменит состояние этой радиокнопки.
compound Если вы указываете и текст, и графику (битмап или изображение), этот параметр определяет, где отображается графика относительно текста. Возможные значения: tk.NONE (значение по умолчанию), tk.TOP, tk.BOTTOM, tk.LEFT, tk.RIGHT и tk.CENTER. Например, compound=tk.BOTTOM расположит графику под текстом. Если указать compound=tk.NONE, то графика будет отображаться, а текст (если таковой имеется) - нет.
cursor Если задать в качестве параметра имя курсора (см. Раздел 5.8, "Курсоры"), то курсор мыши будет меняться на этот шаблон, когда он будет находиться над радиобаттоном.
disabledforeground Цвет переднего плана, используемый для отображения текста отключенной радиокнопки. По умолчанию это затушеванный вариант цвета переднего плана.
font Шрифт, используемый для text. См. раздел Раздел 5.4, "Шрифты".
fg или foreground Цвет, используемый для отображения текста.
height Количество строк (не пикселей) текста на радиобаттоне. По умолчанию 1.
highlightbackground Цвет подсветки фокуса, когда кнопка не имеет фокуса. См. Раздел 53, "Фокус: маршрутизация ввода с клавиатуры".
highlightcolor Цвет подсветки фокуса, когда radiobutton имеет фокус.
highlightthickness Толщина подсветки фокуса. По умолчанию 1. Установите highlightthickness=0, чтобы подавить отображение подсветки фокуса.
image Чтобы отобразить графическое изображение вместо текста для этой кнопки, установите этот параметр для объекта image. См. раздел Раздел 5.9, "Изображения". Изображение появляется, когда кнопка не выбрана; сравните с selectimage, ниже.
indicatoron Обычно радиобаттон отображает свой индикатор. Если вы установите этот параметр в ноль, индикатор исчезнет, и весь виджет примет вид "нажимаемой" кнопки, которая выглядит поднятой, когда она снята, и опущенной, когда она установлена. Вы можете увеличить значение borderwidth, чтобы легче было видеть состояние такого элемента управления.
justify Если text содержит несколько строк, эта опция управляет тем, как текст будет выравниваться: tk.CENTER (по умолчанию), tk.LEFT или tk.RIGHT.
offrelief Если вы подавляете индикатор, установив indicatoron=False, опция offrelief задает стиль рельефа, который будет отображаться, когда radiobutton не выбран. По умолчанию используется tk.RAISED.
overrelief Определяет стиль рельефа, который будет отображаться при наведении курсора мыши на радиобаттон.
padx Сколько места оставлять слева и справа от радиобаттона и текста. По умолчанию 1.
pady Сколько места оставлять над и под радиобаттоном и текстом. По умолчанию равно 1.
relief По умолчанию радиобаттон будет иметь рельеф tk.FLAT, чтобы не выделяться на фоне. Дополнительные варианты трехмерных эффектов см. в Раздел 5.6, "Стили рельефа". Вы также можете использовать relief=tk.SOLID, который отображает сплошную черную рамку вокруг кнопки.
selectcolor Цвет color радиобаттона, когда он установлен. По умолчанию - красный.
selectimage Если вы используете опцию image для отображения графики вместо текста при очистке радиокнопки, вы можете установить опцию selectimage на другое изображение, которое будет отображаться при установке радиокнопки. См. Раздел 5.9, "Изображения".
state По умолчанию используется state=tk.NORMAL, но вы можете установить state=tk.DISABLED, чтобы затемнить элемент управления и сделать его невосприимчивым. Если курсор в данный момент находится над радиокнопкой, то ее состояние будет tk.ACTIVE.
takefocus По умолчанию фокус ввода (см. Раздел 53, "Фокус: маршрутизация ввода с клавиатуры") будет проходить через радиобаттон. Если вы установите takefocus=0, фокус не будет посещать данный radiobutton.
text Метка, отображаемая рядом с радиокнопкой. Используйте новые строки ('\n') для отображения нескольких строк текста.
textvariable Если вам нужно изменить метку на радиокнопке во время выполнения, создайте StringVar (см. Раздел 52, "Управляющие переменные: значения за виджетами") для управления текущим значением и установите этот параметр для этой управляющей переменной. При изменении значения управляющей переменной аннотация радиокнопки будет автоматически меняться на этот текст.
underline При значении по умолчанию -1 ни один из символов текстовой метки не будет подчеркнут. Установите этот параметр на индекс символа в тексте (считая от нуля), чтобы подчеркнуть этот символ.
value При включении радиокнопки пользователем ее управляющая переменная устанавливается в текущий параметр value. Если управляющая переменная является IntVar, присвойте каждой радиокнопке в группе свой целочисленный параметр value. Если управляющая переменная представляет собой StringVar, присвойте каждой радиокнопке свой строковый параметр value.
variable Управляющая переменная, которую данная радиокнопка разделяет с другими радиокнопками в группе; см. Раздел 52, "Управляющие переменные: значения за виджетами". Это может быть либо IntVar, либо StringVar.
width Ширина radiobutton по умолчанию определяется размером отображаемого изображения или текста. Вы можете установить этот параметр на количество символов (не пикселей), и в радиобаттоне всегда будет место для этого количества символов.
wraplength Обычно строки не переносятся. Вы можете задать число символов, и все строки будут разбиты на части не длиннее этого числа.

Методы для объектов radiobutton включают:.

.deselect()

Очищает (выключает) радиокнопку.

.flash()

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

.invoke()

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

.select()

Устанавливает (включает) радиокнопку.


>> Виджет Scale