繁体   English   中英

默认单选按钮在第二个 tkinter 窗口中不起作用

[英]Default radio button not working in second tkinter window

我试图在 tkinter 的辅助窗口上放置一些单选按钮,但我无法正确设置要选择的默认按钮。 奇怪的是,如果我将按钮放在根窗口而不是任何其他窗口上,代码似乎可以正常工作。

这是我的代码:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM