【问题标题】:Tkinter radio button not passing valueTkinter 单选按钮未传递值
【发布时间】:2019-03-03 12:55:32
【问题描述】:

我正在尝试在选择 radioButton 后动态创建按钮,但我不知道如何将值从 radioButton 传递给我的函数。我做错了什么?

我的相关部分代码:

class VP_info():
    def __init__(self):

        #radio buttons
        self.radio_var = tk.IntVar()
        radioBtt1 = ttk.Radiobutton(self.window, text="Registracija", variable = self.radio_var, value= 0, command=self.radioBtt_click)
        radioBtt2 = ttk.Radiobutton(self.window, text="Keitimai", variable = self.radio_var, value= 1, command=self.radioBtt_click)
        radioBtt1.grid(row=2, column=1, sticky="w")
        radioBtt2.grid(row=2, column=1)
     #radioBtt click event       
    def radioBtt_click(self):
        first_frame = ttk.LabelFrame(self.window, text="VP info", relief=tk.RIDGE)
        first_frame.grid(row=4, column=1,  padx=10, pady=10, sticky=tk.E + tk.W + tk.N + tk.S)
        if self.radio_var == 0:
            self.add_buttons_first(first_frame)
        else:
            self.add_buttons_second(first_frame)

使用代码,然后单击单选按钮,总是会创建第二组按钮(尽管选择了第一个单选按钮)。

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    你应该在函数中得到self.radio_var的值:

    def radioBtt_click(self):
        #<---code-->
        if self.radio_var.get() == 0:
            self.add_buttons_first(first_frame)
        else:
            self.add_buttons_second(first_frame)
    

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-11
      • 2015-10-04
      • 2014-05-08
      • 2021-04-14
      • 1970-01-01
      • 2021-07-25
      相关资源
      最近更新 更多