Python Tkinter Radiobutton单选按钮


Radiobutton小部件用于在python应用程序中实现一个多选项。它向用户显示多个选项,用户只能从中选择一个。我们可以将不同的方法与每个无线电按钮相关联。

我们可以在radiobuttons上显示多行文本或图像。为了跟踪用户对radiobutton的选择,它与单个变量相关联。每个按钮显示该特定变量的单个值。

下面给出了使用Radiobutton的语法。

句法

w = Radiobutton(top, options)

SN
选项
说明
1activebackground
具有焦点时窗口小部件的背景颜色。
2activeforeground
具有焦点时窗口小部件文本的字体颜色。
3anchor
如果窗口小部件包含的空间大于文本要求,则它表示窗口小部件中文本的确切位置。默认值为CENTER。
4bg
小部件的背景颜色。
5bitmap
用于显示小部件上的图形。它可以设置为任何图形或图像对象。
6borderwidth
它表示边框的大小。
7command
此选项设置为每当更改单选按钮的状态时必须调用的过程。
8cursor
鼠标指针变为指定的光标类型。它可以设置为箭头,点等。
9font
它表示窗口小部件文本的字体类型。
10fg
小部件文本的正常前景色。
11height
小部件的垂直尺寸。它被指定为行数(不是像素)。
12highlightcolor
它表示窗口小部件具有焦点时焦点突出显示的颜色。
13highlightbackground
当窗口小部件没有焦点时,焦点的颜色突出显示。
14image
如果我们想在radiobutton上显示图像而不是文本,可以将其设置为图像对象。
15justify
它代表了多行文本的正当性。它可以设置为CENTER(默认),LEFT或RIGHT。
16padx
小部件的水平填充。
17pady
小部件的垂直填充。
18relief
边界的类型。默认值为FLAT。
19selectcolor
选中时单选按钮的颜色。
20selectimage
选择时在radiobutton上显示的图像。
21state
它表示单选按钮的状态。 Radiobutton的默认状态为NORMAL。但是,我们可以将其设置为DISABLED以使radiobutton无响应。
22text
要在radiobutton上显示的文本。
23textvariable
它是String类型,表示小部件显示的文本。
24underline
此选项的默认值为-1,但是,我们可以将此选项设置为要加下划线的字符数。
25value
每个radiobutton的值在用户打开时分配给控制变量。
26variable
它是控制变量,用于跟踪用户的选择。它在所有radiobutton之间共享。
27width
小部件的水平尺寸。它表示为字符数。
28wraplength
我们可以通过将此选项设置为所需的数字来将文本换行到行数,以便每行只包含该数量的字符。

方法

radiobutton小部件提供以下方法。

SN
方法
说明
1deselect()
用于转动单选按钮。
2flash()
用于在有效和正常颜色之间闪烁几次无线电按钮。
3invoke()
它用于调用Radiobutton状态更改时关联的任何过程。
4select()
用于选择radiobutton。

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

输出:

360截图1761061292104120.png