2.4Radiobutton 选择按钮
这一次的效果将会像下面的图片一样.
如果选择了某个选项, 效果就会如下.
radiobutton 部件
首先我们需要定义一个 var
用来将 radiobutton 的值和 Label 的值联系在一起. 然后创建一个radiobutton部分:
var = tk.StringVar()
l = tk.Label(window, bg='yellow', width=20, text='empty')
l.pack()
r1 = tk.Radiobutton(window, text='Option A',
variable=var, value='A',
command=print_selection)
r1.pack()
其中variable=var
, value='A'
的意思就是,当我们鼠标选中了其中一个选项,把value的值A
放到变量var中,然后赋值给variable
触发功能
我们将定义一个功能, 用来对选择的 radiobutton 进行操作. print_selection
功能就是选择了某个 radiobutton 后我们会在屏幕上打印的选项.
def print_selection():
l.config(text='you have selected ' + var.get())
当触发这个函数功能时,我们的 label
中就会显示 text
所赋值的字符串即 ‘you have selected’, 后面则是我们所选中的选项 var.get()
就是获取到变量 var
的值, 举个例子就是我们一开始所做的将选项 option A 选中时的值以 A 放入 var
中, 所以获取的也就是A 即如果我们这时候选中 option A 选项,label显示的值则是 you have selected A.
代码实现
```python
import tkinter as tk
window = tk.Tk()
window.title('my window')
window.geometry('200x200')
var = tk.StringVar()
l = tk.Label(window, bg='yellow', width=20, text='empty')
l.pack()
def print_selection():
l.config(text='you have selected ' + var.get())
r1 = tk.Radiobutton(window, text='Option A',
variable=var, value='A',
command=print_selection)
r1.pack()
r2 = tk.Radiobutton(window, text='Option B',
variable=var, value='B',
command=print_selection)
r2.pack()
r3 = tk.Radiobutton(window, text='Option C',
variable=var, value='C',
command=print_selection)
r3.pack()
window.mainloop()