【问题标题】:Radio Buttons tkinter python单选按钮 tkinter python
【发布时间】:2016-09-11 16:51:34
【问题描述】:

我遇到一个问题,当我尝试单击其中一个单选按钮时,我的所有单选按钮都被选中。这是一个转换计算器,所以一旦我解决了这个问题,我就可以为我的其他转换携带相同的代码。非常感谢任何帮助。

谢谢,

杰米

`from tkinter import*
from tkinter import ttk

class GUI:
    def __init__(self, root):
        notebook = ttk.Notebook(root)
        notebook.pack()

        self.temp_frame = ttk.Frame(notebook)
        self.length_frame = ttk.Frame(notebook)
        self.weight_frame = ttk.Frame(notebook)

#-----------------Length------------------------#
        notebook.add(self.length_frame, text = "Length")                     

        #Radio Buttons
        v = StringVar()
        MODES = ["mm","cm","Inch","Feet","Yards","Metre","Km","Miles"]

        v.set("0") # initialize
        r=0
        for r in range(len(MODES)):
            b = ttk.Radiobutton(self.length_frame, text=MODES[r], variable=v )
            b.grid(row=r ,column = 0, sticky = W)



        #Radio Buttons
        v1 = StringVar()
        MODES1 = ["mm","cm","Inch","Feet","Yards","Metre","Km","Miles"]

        v1.set("0")#initialize
        r=0
        for r in range(len(MODES1)):
            b = ttk.Radiobutton(self.length_frame, text=MODES1[r], variable=v1 )
            b.grid(row=r ,column = 6, sticky = W)




        #Entry Box
        self.Text_length_left = StringVar()
        self.entry_length_left = ttk.Entry(self.length_frame, textvariable = self.Text_length_left, width = 15)
        self.entry_length_left.grid(row = 4, column = 2)

        self.Text_length_right = StringVar()
        self.entry_length_right = ttk.Entry(self.length_frame, textvariable = self.Text_length_right, width = 15, state = "readonly")
        self.entry_length_right.grid(row = 4, column = 4)

        #Label
        self.label_3 = Label(self.length_frame, text = "From:")
        self.label_3.grid(row = 3, column = 2)

        self.label_4 = Label(self.length_frame, text = "To:")
        self.label_4.grid(row = 3, column = 4)

        self.label_1 = Label(self.length_frame, text = "-->")
        self.label_1.grid(row = 4, column = 3)

        self.label_2 = Label(self.length_frame, text = " ")
        self.label_2.grid(row = 4, column = 5)

#---------------------Temp Frame ----------------------#
        notebook.add(self.temp_frame, text = "Temperature")


if __name__ == "__main__":
    root = Tk()
    app = GUI(root)
    root.mainloop()`

【问题讨论】:

    标签: python tkinter radio-button


    【解决方案1】:

    您从不设置value 关键字。这是单击时存储在一组单选按钮的控制变量中的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 2016-09-01
      • 2016-06-10
      • 2021-06-09
      • 1970-01-01
      • 2012-12-02
      • 2015-09-11
      相关资源
      最近更新 更多