首页 > 解决方案 > 默认值未在 tkinter 单选按钮中设置

问题描述

from tkinter import *
master=Tk()
class radio:
    def __init__(self,root):
        self.root=root
        methods = [('Name', 1), ('Number', 2), ('Date', 3), ('Area', 4), ('Mountain', 5), ('Country', 6), ('Place', 7)]
        self.v = IntVar()
        self.v.set(1)
        for method, value in methods:
            rad = Radiobutton(root, text=method, variable=self.v, value=value)
            rad.pack()

radio(master)
master.mainloop()

这是我的代码。我试图将单选按钮的默认位置设置为值“1”。但是当我将鼠标指针悬停在这些单选按钮上方时,所有单选按钮都会像图片中一样被选中在此处输入图像描述。我应该怎么办?

标签: pythonooptkinterradio-button

解决方案


您没有保留对该radio对象的引用,因此该值正在被垃圾收集。

保存参考,默认值将被正确设置:

r = radio(master)

推荐阅读