扫码一下
查看教程更方便
这个控件实现了一个多选按钮,这是一种向用户提供许多可能选择并让用户只选择其中一个的方法。
为了实现此功能,每组单选按钮必须与相同的变量相关联,并且每个按钮必须象征一个单一的值。您可以使用 Tab 键从一个单选按钮切换到另一个。
这是创建此控件的简单语法 -
w = Radiobutton ( master, option, ... )
序号 | 选项 | 描述 |
---|---|---|
1 | activebackground | 鼠标悬停在单选按钮上时的背景颜色。 |
2 | activeforeground | 鼠标悬停在单选按钮上时的前景色。 |
3 | anchor | 如果控件所在的空间大于它需要的空间,则此选项指定单选按钮在该空间中的位置。默认值为锚点=中心。 |
4 | bg | 指示器和标签后面的正常背景颜色。 |
5 | bitmap | 要在单选按钮上显示单色图像,请将此选项设置为位图。 |
6 | borderwidth | 指标部分本身周围边框的大小。默认值为 2 像素。 |
7 | command | 每次用户更改此单选按钮的状态时调用的过程。 |
8 | cursor | 如果将此选项设置为光标名称(箭头、点等),则鼠标光标在单选按钮上方时将更改为该模式。 |
9 | font | 用于文本的字体。 |
10 | fg | 用于呈现文本的颜色。 |
11 | height | 单选按钮上文本的行数(不是像素)。默认值为 1。 |
12 | highlightbackground | 当单选按钮没有焦点时焦点的颜色突出显示。 |
13 | highlightcolor | 当单选按钮具有焦点时焦点突出显示的颜色。 |
14 | image | 要为此单选按钮显示图形图像而不是文本,请将此选项设置为图像对象。 |
15 | justify | 如果文本包含多行,此选项控制文本的对齐方式:CENTER(默认)、LEFT 或 RIGHT。 |
16 | padx | 在单选按钮和文本的左侧和右侧留出多少空间。默认值为 1。 |
17 | pady | 在单选按钮和文本的上方和下方留出多少空间。默认值为 1。 |
18 | relief | 指定标签周围装饰边框的外观。默认为平面;对于其他值。 |
19 | selectcolor | 设置单选按钮时的颜色。默认为红色。 |
20 | selectimage | 如果在清除单选按钮时使用图像选项显示图形而不是文本,则可以将 selectimage 选项设置为设置单选按钮时将显示的不同图像。 |
21 | state | 默认值为 state=NORMAL,但您可以设置 state=DISABLED 以使控件变灰并使其无响应。如果光标当前位于单选按钮上,则状态为 ACTIVE。 |
22 | text | 单选按钮旁边显示的标签。使用换行符 ("\n") 显示多行文本。 |
23 | textvariable | 要将标签控件中显示的文本从属于 StringVar类的控制变量,请将此选项设置为该变量。 |
24 | underline | 通过将此选项设置为 n,您可以在文本的第 n 个字母下方显示下划线 (_),从 0 开始计数。默认为 underline=-1,表示没有下划线。 |
25 | value | 当用户打开单选按钮时,其控制变量将设置为其当前值选项。如果控制变量是IntVar,则为组中的每个单选按钮提供不同的整数值选项。如果控制变量是StringVar,则为每个单选按钮提供不同的字符串值选项。 |
26 | variable | 此单选按钮与组中的其他单选按钮共享的控制变量。这可以是 IntVar 或 StringVar。 |
27 | width | 以字符为单位的标签宽度(不是像素!)。如果未设置此选项,标签将调整大小以适合其内容。 |
28 | wraplength | 你可以通过将此选项设置为所需数量来限制每行中的字符数。默认值 0 表示仅在换行处换行。 |
序号 | 方法 | 描述 |
---|---|---|
1 | deselect() | 清除(关闭)单选按钮。 |
2 | flash() | 在单选按钮的活动颜色和正常颜色之间闪烁几次,但保持其开始时的状态。 |
3 | invoke() | 您可以调用此方法以获取与用户单击单选按钮更改其状态时将发生的操作相同的操作。 |
4 | select() | 设置(打开)单选按钮。 |
from Tkinter import *
def sel():
selection = "You selected the option " + str(var.get())
label.config(text = selection)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text="Option 1", variable=var, value=1,
command=sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text="Option 2", variable=var, value=2,
command=sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text="Option 3", variable=var, value=3,
command=sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
执行结果如下: