我很抱歉这个愚蠢的问题,但似乎没有太多关于此的文件是可以理解的。
到目前为止,我有这个:
self.firstRadioButton = Radiobutton(self.__canvas, text="ONE", fg='white', bg=BACKGROUND_COLOR, variable=self.selectedONE, value=1)
self.secondRadioButton = Radiobutton(self.__canvas, text="TWO", fg='white', bg=BACKGROUND_COLOR, variable=self.selectedTWO, value=2)
首先,它是一个单选按钮的原因是因为用户必须选择一个。 所以必须自动选择(我认为Python已经做到了)。
其次,我试图获得用户选择的任何一个的值。这是我的问题,我不能为我的生活搞清楚这一点。
答案 0 :(得分:4)
关键是要确保两个radiobutton共享同一个变量。然后,要知道选择哪一个,您只需要获取变量的值。
以下是一个例子:
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()
答案 1 :(得分:0)
它的工作方式 - 您不会检查选择了哪个单选按钮,而是将单选按钮绑定到事件。
您必须将单选按钮绑定到函数或事件。 参考这些文章: http://www.java2s.com/Tutorial/Python/0360__Tkinker/BindvariabletoRadioButton.htm http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
尝试类似的内容:
self.secondRadioButton.bind('<ButtonRelease-1>', self.__function_name_that_should_run_when_radiobtn_selected)