Python 默认单选按钮在第二个tkinter窗口中不工作
我试图在tkinter的辅助窗口上放置一些单选按钮,但无法正确设置要选择的默认按钮。奇怪的是,如果我把按钮放在根窗口上,而不是任何其他窗口上,代码似乎工作正常 这是我的密码:Python 默认单选按钮在第二个tkinter窗口中不工作,python,tkinter,Python,Tkinter,我试图在tkinter的辅助窗口上放置一些单选按钮,但无法正确设置要选择的默认按钮。奇怪的是,如果我把按钮放在根窗口上,而不是任何其他窗口上,代码似乎工作正常 这是我的密码: from tkinter import * root = Tk() def radiobtnwindow(): window2 = Toplevel() y_n = StringVar() y_n.set('N') #y_n.set('Y') r1 = Radiobutton
from tkinter import *
root = Tk()
def radiobtnwindow():
window2 = Toplevel()
y_n = StringVar()
y_n.set('N')
#y_n.set('Y')
r1 = Radiobutton(window2, text='Yes', variable=y_n, value='Y').pack()
r2 = Radiobutton(window2, text='No', variable=y_n, value='N').pack()
btn = Button(root, text='click', command=radiobtnwindow).pack()
root.mainloop()
请帮忙 只需将变量放在函数外部,然后从函数内部将其全局化,就可以解决问题 像这样:
from tkinter import *
root = Tk()
y_n = StringVar()
y_n.set('N')
# y_n.set('Y')
def radiobtnwindow():
global y_n
window2 = Toplevel()
r1 = Radiobutton(window2, text='Yes', variable=y_n, value='Y').pack()
r2 = Radiobutton(window2, text='No', variable=y_n, value='N').pack()
btn = Button(root, text='click', command=radiobtnwindow).pack()
root.mainloop()
您的
StringVar
仅由局部变量引用,该变量在函数结束时消失-使RadioButton
s没有地方存储其状态。