Python Tkinter Radiobutton



Python Tkinter Radiobutton 此小部件实现了一个 multiple-choice 按钮,这是一种为用户提供许多可能的选项的方法,并允许用户只选择其中之一。

为了实现此功能,每组单选按钮必须与同一变量相关联,并且每个按钮必须符号化一个值。您可以使用 Tab 键从一个 radionbutton 切换到另一个 radionbutton。

语法

以下是创建此小部件的简单语法 -


 w = Radiobutton ( master, option, ... )

参数

  • master - 这表示父窗口。
  • options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 描述
activebackground

鼠标悬停在单选按钮上的背景色。

activeforeground

鼠标悬停在单选按钮上的前景色。

anchor

如果 widget 所在的空间大于其需要的空间,则此选项指定 radiobutton 在该空间中的位置。默认值为 anchor=CENTER。

bg

指示器和标签后面的正常背景色。

bitmap

要在单选按钮上显示单色图像,请将此选项设置为位图。

borderwidth

指标部分本身周围的边框大小。默认值为 2 像素。

command

每次用户更改此单选按钮的状态时要调用的过程。

cursor

如果将此选项设置为光标名称(箭头、点等),则鼠标光标在单选按钮上时将更改为该模式。

font

用于文本的字体。

fg

用于呈现文本的颜色。

height

单选按钮上文本的行数 (不是像素)。默认值为 1。

highlightbackground

当单选按钮没有焦点时,焦点的颜色会突出显示。

highlightcolor

当单选按钮具有焦点时,焦点的颜色高亮显示。

image

要显示此单选按钮的图形图像而不是文本,请将此选项设置为 image 对象。

justify

如果文本包含多行,则此选项控制文本的两端对齐方式:CENTER(默认值)、LEFT 或 RIGHT。

padx

在 radiobutton 和 text 的左侧和右侧留出多少空间。默认值为 1。

pady

在 radiobutton 和 text 的上方和下方留出多少空间。默认值为 1。

relief

指定标签周围装饰性边框的外观。默认值为 FLAT;以获取其他值。

selectcolor

设置单选按钮时的颜色。默认值为 red。

selectimage

如果在清除单选按钮时使用 image 选项来显示图形而不是文本,则可以将 selectimage 选项设置为在设置 radiobutton 时显示的其他图像。

state

默认值为 state=NORMAL,但您可以设置 state=DISABLED 以使控件灰显并使其无响应。如果光标当前位于单选按钮上,则状态为 ACTIVE。

text

单选按钮旁边显示的标签。使用换行符 (“\n”) 显示多行文本。

textvariable

要将标签小部件中显示的文本从属到 StringVar 类的控制变量,请将此选项设置为该变量。

underline

通过将此选项设置为 n,可以在文本的第 n 个字母下方显示下划线 (_),从 0 开始计数。默认值为 underline=-1,这意味着没有下划线。

value

当用户打开单选按钮时,其 control 变量将设置为其 current value 选项。如果控制变量是 IntVar,则为组中的每个单选按钮提供不同的整数值选项。如果控制变量是 aStringVar,则为每个单选按钮提供不同的字符串值选项。

variable

此单选按钮与组中的其他单选按钮共享的 control 变量。这可以是 IntVar 或 StringVar。

width

标签的宽度(以字符为单位)(不是像素!如果未设置此选项,则标签的大小将适合其内容。

wraplength

您可以通过将此选项设置为所需的数字来限制每行中的字符数。默认值 0 表示仅在换行符处换行。

方法

这些方法可用。

方法. 描述
deselect()

清除 (关闭) 单选按钮。

flash()

在 Active(活动颜色)和 Normal (正常)颜色之间闪烁 radiobutton(单选按钮)几次,但保持开始时的状态。

invoke()

您可以调用此方法来获取与用户单击 radiobutton 以更改其状态时发生的相同操作。

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()

执行上述代码时,它会生成以下输出 -

tkinter radiobutton