Я пытаюсь написать GUI (на самом деле PyMOL плагин) с переключателями. Мне нужно, чтобы переключатели были внутри функции. У меня две проблемы (если переключатели находятся за пределами функции, у меня нет проблем):
1) последние две переключатели выглядят серыми и отмечены. (Я думаю, что правильное поведение должно быть только один отмечен галочкой и не серым) установка другого значения по умолчанию (с помощью ref_value.set ()) ничего не меняет
2) Я всегда получаю значение по умолчанию («1» в этом примере), когда нажимаю кнопку отправки.
from Tkinter import *
def __init__(self):
"""this adds the Plugin to the PyMOL menu"""
self.menuBar.addmenuitem('Plugin', 'command',
'Plugin name',
label = 'plugin',
command = lambda : draw_gui())
def draw_gui():
global v
master = Tk()
master.title(' title ')
Button(master, text='Submit', command=submit).pack(side=BOTTOM)
v = StringVar()
v.set(1)
Radiobutton(master, text='option 1', variable=v, value=1).pack(side=LEFT)
Radiobutton(master, text='option 2', variable=v, value=2).pack(side=LEFT)
Radiobutton(master, text='option 3', variable=v, value=3).pack(side=LEFT)
master.mainloop()
def submit():
print v.get()
Заранее спасибо