Найти - Пользователи
Полная версия: tkinter.Radiobutton - выбрать 1 пункт
Начало » GUI » tkinter.Radiobutton - выбрать 1 пункт
1
Voroshek
Здравствуйте. Radiobutton должен выбирать только 1 пункт, но можно выбрать несколько, хоть все:
#! /usr/bin/env python
# _*_ coding: utf-8 _*_

import tkinter

t = ['горы', 'лес', 'степь']

def zem(event): # окно выбора земли
zem = tkinter.Toplevel(gl_okno)
zem.title('земля')
for x in range(3):
var_zem = tkinter.IntVar()
var_zem.set(1)
kn_zem = tkinter.Radiobutton(zem, text=t[x], variable=var_zem, value=x)
kn_zem.grid(row=x, column=2)
# ------------------------------------------------------------------------------
gl_okno = tkinter.Tk() # главное окно
gl_okno.title('my lands калькулятор')
but_zem = tkinter.Button(gl_okno, text='Выбрать землю')
but_zem.bind('<Button-1>', zem)
but_zem.grid(row=1, column=3)

gl_okno.mainloop()
Evgeny
Отключение всех остальных кнопок при включении какой-то придется делать вручную
Voroshek
Не понял. А как же:
* Radiobutton

Переключатель. Представляет одно из альтернативных значений некоторой переменной. Обычно действует в группе. Когда пользователь выбирает какую-либо опцию, с ранее выбранного в этой же группе элемента выбор снимается.
http://ru.wikipedia.org/wiki/Tkinter
Evgeny
А, в вашем коде надо просто

var_zem = Tkinter.IntVar()
var_zem.set(1)

вынести из цикла

“To form several radiobuttons into a functional group, create a single control variable (see Section 28,
“Control variables: the values behind the widgets” (p. 103), below), and set the variable option of
each radiobutton to that variable.”

Про ручное отключение это я конечно поторопился :)
Voroshek
Спасибо. Чёрт, в который на детской ошибке запинаюсь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB