Python 2.7 Tkinter - Determine which Radiobutton has been selected

前端 未结 2 1513
半阙折子戏
半阙折子戏 2020-12-21 10:38

Assuming the following code has been written:

self.firstRadioButton = Radiobutton(self.__canvas, text="ONE", fg=\'white\', bg=BACKGROUND_COLOR, vari         


        
相关标签:
2条回答
  • 2020-12-21 11:07

    The key is to make sure that both radiobuttons share the same variable. Then, to know which one is selected you simply need to get the value of the variable.

    Here is an example:

    import tkinter
    
    # function that is called when you select a certain radio button
    def selected():
        print(var.get())
    
    
    root = tkinter.Tk()
    
    var = tkinter.StringVar() #used to get the 'value' property of a tkinter.Radiobutton
    
    # Note that I added a command to each radio button and a different 'value'
    # When you press a radio button, its corresponding 'command' is called.
    # In this case, I am linking both radio buttons to the same command: 'selected'
    
    rb1 = tkinter.Radiobutton(text='Radio Button 1', variable=var, 
                              value="Radio 1", command=selected)
    rb1.pack()
    rb2 = tkinter.Radiobutton(text='Radio Button 2', variable=var, 
                              value="Radio 2", command=selected)
    rb2.pack()
    
    root.mainloop()
    
    0 讨论(0)
  • 2020-12-21 11:12

    The way it works - is you do not check which radio buttons is selected, rather you bind a radio button to an event.

    You have to bind the radio button to a function or event. reference these articles: http://www.java2s.com/Tutorial/Python/0360__Tkinker/BindvariabletoRadioButton.htm http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

    Try something similar to:

    self.secondRadioButton.bind('<ButtonRelease-1>', self.__function_name_that_should_run_when_radiobtn_selected)
    
    0 讨论(0)
提交回复
热议问题