Уведомления

Группа в Telegram: @pythonsu

#1 Май 15, 2011 10:26:17

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter.Radiobutton - выбрать 1 пункт

Здравствуйте. 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()



python3 openSUSE-43Leap

Офлайн

#2 Май 15, 2011 11:17:21

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter.Radiobutton - выбрать 1 пункт

Отключение всех остальных кнопок при включении какой-то придется делать вручную



Офлайн

#3 Май 15, 2011 11:32:00

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter.Radiobutton - выбрать 1 пункт

Не понял. А как же:

* Radiobutton

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



python3 openSUSE-43Leap

Офлайн

#4 Май 15, 2011 11:42:34

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter.Radiobutton - выбрать 1 пункт

А, в вашем коде надо просто

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.”

Про ручное отключение это я конечно поторопился :)



Отредактировано (Май 15, 2011 11:44:57)

Офлайн

#5 Май 15, 2011 11:44:51

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter.Radiobutton - выбрать 1 пункт

Спасибо. Чёрт, в который на детской ошибке запинаюсь



python3 openSUSE-43Leap

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version