Radiobutton
此小部件实现了一个多选按钮,这是一种向用户提供许多可能选择的方法,并允许用户只选择其中一个。
为了实现此功能,每组radiobutton必须与同一个变量相关联,并且每个按钮必须符号化一个值。 您可以使用Tab键从一个radionbutton切换到另一个radionbutton。
语法 (Syntax)
以下是创建此小部件的简单语法 -
w = Radiobutton ( master, option, ... )
参数 (Parameters)
master - 这表示父窗口。
options - 以下是此小部件最常用的选项列表。 这些选项可用作以逗号分隔的键值对。
Sr.No. | 选项和说明 |
---|---|
1 | activebackground 鼠标悬停在单选按钮上时的背景颜色。 |
2 | activeforeground 鼠标悬停在单选按钮上时的前景色。 |
3 | anchor 如果窗口小部件占用的空间大于其所需的空间,则此选项指定单选按钮将位于该空间中的位置。 默认值为anchor = CENTER。 |
4 | bg 指标和标签背后的正常背景颜色。 |
5 | bitmap 要在单选按钮上显示单色图像,请将此选项设置为位图。 |
6 | borderwidth 指标部分周围边框的大小。 默认值为2像素。 |
7 | command 每次用户更改此单选按钮的状态时要调用的过程。 |
8 | cursor 如果将此选项设置为光标名称( arrow, dot etc. ),则当光标位于单选按钮上时,鼠标光标将更改为该模式。 |
9 | font 用于文本的字体。 |
10 | fg 用于呈现文本的颜色。 |
11 | height 无线电按钮上文本的行数(不是像素数)。 默认值为1。 |
12 | highlightbackground 当radiobutton没有焦点时,焦点的颜色突出显示。 |
13 | highlightcolor 当radiobutton具有焦点时,焦点的颜色突出显示。 |
14 | image 要显示此radiobutton的图形图像而不是文本,请将此选项设置为图像对象。 |
15 | justify 如果文本包含多行,则此选项控制文本的对齐方式:CENTER(默认值),LEFT或RIGHT。 |
16 | padx 在radiobutton和文本的左侧和右侧留出多少空间。 默认值为1。 |
17 | pady 在radiobutton和文本的上方和下方留出多少空间。 默认值为1。 |
18 | relief 指定标签周围的装饰边框的外观。 默认值为FLAT; 对于其他价值观。 |
19 | selectcolor 设置时的radiobutton的颜色。 默认为红色。 |
20 | selectimage 如果在清除单选按钮时使用图像选项显示图形而不是文本,则可以将选择图像选项设置为设置单选按钮时将显示的其他图像。 |
21 | state 默认值为state = NORMAL,但您可以将state = DISABLED设置为灰色控件并使其无响应。 如果光标当前在radiobutton上,则状态为ACTIVE。 |
22 | text 标签显示在radiobutton旁边。 使用换行符(“\ n”)显示多行文本。 |
23 | textvariable 要将标签窗口小部件中显示的文本StringVar类的控制变量,请将此选项设置为该变量。 |
24 | underline 通过将此选项设置为n,可以在文本的第n个字母下方显示下划线(_),从0开始计数。 默认值为下划线= -1,表示没有下划线。 |
25 | value 当用户打开radiobutton时,其控制变量将设置为其当前值选项。 如果控制变量是IntVar ,则为组中的每个单选按钮提供不同的整数值选项。 如果控制变量是StringVar ,则为每个radiobutton提供不同的字符串值选项。 |
26 | variable 此radiobutton与组中其他radiobutton共享的控制变量。 这可以是IntVar或StringVar。 |
27 | width 标签的宽度(以字符为单位!)。 如果未设置此选项,则标签的大小将适合其内容。 |
28 | wraplength 您可以通过将此选项设置为所需的数字来限制每行中的字符数。 默认值0表示仅在换行时断行。 |
方法 (Methods)
Sr.No. | 方法和描述 |
---|---|
1 | deselect() 清除(关闭)radiobutton。 |
2 | flash() 在有效和正常颜色之间闪烁几次无线电按钮,但它保持开始的方式。 |
3 | invoke() 您可以调用此方法以获取在用户单击radiobutton以更改其状态时可能发生的相同操作。 |
4 | select() 设置(打开)单选按钮。 |
例子 (Example)
请亲自尝试以下示例 -
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()
执行上述代码时,会产生以下结果 -