Tkinter单选按钮未传递值

2024-05-16 19:38:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在单选按钮选择之后动态创建按钮,但是我找不到如何将值从单选按钮传递给我的函数。我做错了什么

我的代码相关部分:

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)

使用With code,然后单击单选按钮,总是创建第二组按钮(尽管第一个单选按钮被选中)


Tags: textselfvarwindow按钮frametkgrid
1条回答
网友
1楼 · 发布于 2024-05-16 19:38:54

您应该在函数中获得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)

相关问题 更多 >