Сделайте ваши радио кнопки, а затем вы получите ваши радио кнопки, как они должны.
я вставлю переключатель в функцию и нарисую их; в первый раз, когда они нарисованы, вы не можете навести на них курсор, не сделав их похожими на всех.
Тот же самый код из функции не демонстрирует это поведение.
from Tkinter import *
def App(master):
v = StringVar()
v.set('python') # initialize
lable1 = Label(master, text=' hovering over below radio buttons will cause them to look like they are selected')
lable1.pack()
runtimeFrame = Frame(master, relief=GROOVE, borderwidth = 3)
runtimeFrame.pack(fill = X, pady = 5, padx = 5)
for mode in ['java', 'python', 'jython']:
b = Radiobutton(runtimeFrame, text=mode, variable=v, value=mode, indicatoron = 1 )
b.pack(side = LEFT)
if __name__ == '__main__':
master = Tk()
App(master)
#The following code chunk is the same as that in App()
#------------------------
v = StringVar()
v.set('python') # initialize
lable1 = Label(master, text=' hovering over below radio buttons will cause them to Not look selected as expected')
lable1.pack()
runtimeFrame = Frame(master, relief=GROOVE, borderwidth = 3)
runtimeFrame.pack(fill = X, pady = 5, padx = 5)
for mode in ['java', 'python', 'jython']:
b = Radiobutton(runtimeFrame, text=mode, variable=v, value=mode, indicatoron = 1 )
b.pack(side = LEFT)
#------------------------
mainloop()
После того, как вы сделали выбор, это больше не повторяется. Я делаю что-то неправильно? Есть ли обходной путь, потому что мой код должен быть в функции!
Это вторая элементарная ошибка, которую я обнаружил в Tkinter. Есть ли что-то лучшее для разработки Python GUI?
PS: я использую Python 2.7