Tkinter教程, Radiobutton部件被用来在Python应用程序中实现多选一。它向用户显示多个选择,而用户只能选择其中的一个。我们可以将不同的方法与每个单选按钮联系起来。
我们可以在单选按钮上显示多行文本或图像。为了跟踪用户对单选按钮的选择,它与一个单一的变量相关联。每个按钮都显示该特定变量的一个值。
使用单选按钮的语法如下。
Python Tkinter 单选按钮 语法
w = Radiobutton(top, options)
SN | 选项 | 描述 |
---|---|---|
1 | activebackground | 小组件拥有焦点时的背景颜色。 |
2 | activeforeground | 小工具文本在拥有焦点时的字体颜色。 |
3 | anchor | 如果小组件包含的空间超过文本的要求,它代表文本在小组件中的确切位置。默认值是CENTER。 |
4 | bg | 小部件的背景颜色。 |
5 | bitmap | 它用于在小组件上显示图形。它可以被设置为任何图形或图像对象。 |
6 | borderwidth | 它代表边界的大小。 |
7 | command | 这个选项被设置为每次改变放射性按钮的状态时必须调用的程序。 |
8 | cursor | 鼠标指针被改变为指定的光标类型。它可以被设置为箭头、点等。 |
9 | font | 它表示小组件文本的字体类型。 |
10 | fg | 小组件文本的正常前景颜色。 |
11 | height | 小组件的垂直尺寸。它被指定为行数(而不是像素)。 |
12 | highlightcolor | 它表示小部件拥有焦点时的焦点高亮颜色。 |
13 | highlightbackground | 当小组件没有焦点时,焦点高亮的颜色。 |
14 | image | 如果我们想在辐射按钮上显示图像而不是文本,可以将其设置为图像对象。 |
15 | justify | 它表示多行文本的对齐方式。它可以被设置为CENTER(默认)、LEFT或RIGHT。 |
16 | padx | 小部件的水平填充。 |
17 | pady | 小部件的垂直填充。 |
18 | relief | 边框的类型。默认值是FLAT。 |
19 | selectcolor | 单选按钮被选中时的颜色。 |
20 | selectimage | 单选按钮被选中时要显示的图像。 |
21 | state | 它表示单选按钮的状态。Radiobutton的默认状态是NORMAL。然而,我们可以将其设置为DISABLED,使radiobutton没有反应。 |
22 | text | 单选按钮上要显示的文本。 |
23 | textvariable | 它是字符串类型的,代表小部件显示的文本。 |
24 | underline | 这个选项的默认值是-1,但是,我们可以将这个选项设置为要下划线的字符数。 |
25 | value | 当用户打开时,每个单选按钮的值被分配给控制变量。 |
26 | variable | 它是控制变量,用于跟踪用户的选择。它在所有的单选按钮之间共享。 |
27 | width | 小组件的水平尺寸。它被表示为字符数。 |
28 | wraplength | 我们可以通过将该选项设置为所需的行数来将文本包起来,这样每一行就只包含该数量的字符。 |
Python Tkinter 单选按钮 方法
单选按钮小部件提供了以下方法。
SN | 方法 | 描述 |
---|---|---|
1 | deselect() | 它是用来打开单选按钮的。 |
2 | flash() | 它用于在单选按钮的活动和正常颜色之间闪烁几次。 |
3 | invoke() | 当单选按钮的状态改变时,它被用来调用任何相关的程序。 |
4 | select() | 它用于选择单选按钮。 |
Python Tkinter 单选按钮 示例
from tkinter import *
def selection():
selection = "You selected the option " + str(radio.get())
label.config(text = selection)
top = Tk()
top.geometry("300x150")
radio = IntVar()
lbl = Label(text = "Favourite programming language:")
lbl.pack()
R1 = Radiobutton(top, text="C", variable=radio, value=1,
command=selection)
R1.pack( anchor = W )
R2 = Radiobutton(top, text="C++", variable=radio, value=2,
command=selection)
R2.pack( anchor = W )
R3 = Radiobutton(top, text="Java", variable=radio, value=3,
command=selection)
R3.pack( anchor = W)
label = Label(top)
label.pack()
top.mainloop()
输出: