当前位置:首页>python>python高阶:19、tkinter库(Radiobutton组件)

python高阶:19、tkinter库(Radiobutton组件)

  • 2026-08-23 03:21:16
python高阶:19、tkinter库(Radiobutton组件)
1、tkinter库的导入和主窗口的创建
import tkinter as tk  #以别名tk导入tkinter库root=tk.Tk()    #创建主窗口的实例winroot.title("Frame组件测试窗口")    #设置窗口的标题root.geometry("200x200+600+200")#设置窗口的大小和位置root.resizable(True,False)      #设置窗口可水平缩放,禁止垂直缩放tk.mainloop()  #进入事件处理循环,防止窗口闪退
2、Radiobutton组件(类)

Radiobutton(单选按钮)是 Tkinter 中实现“多选一”功能的经典组件,通常需要一组配合使用。它包含了大量通用属性和部分独有属性,并提供了select()、deselect()等几种常用的操作方法。

(1)Radiobutton组件常用属性参数
属性
说明
variable

核心属性:关联一个控制变量,同一组按钮需共享同一个变量

value

核心属性:设置按钮被选中时,variable被赋予的值

text

按钮显示的文本标签

command

按钮状态改变时调用的函数或方法

state

控制按钮状态:NORMAL(正常)、ACTIVE(激活)、DISABLED(禁用)

indicatoron

是否显示圆形指示器。True(默认)显示;False则按钮变为类似“推-推”按钮的样式,选中时凹陷

width/height

按钮的宽/高。对文本按钮,单位是字符数;对图像按钮,单位是像素

anchor

当空间大于所需时,控制内容的位置,如CENTER, N, S等

justify

多行文本的对齐方式:LEFT, CENTER, RIGHT

compound

同时显示文本和图像时,定义相对位置,如LEFT, TOP等

bg/fg

背景色和前景色(文本颜色)

activebackground/activeforeground

鼠标悬停(即state为ACTIVE)时的背景/前景色

disabledforeground

按钮禁用时文本的颜色

selectcolor

按钮被选中时的颜色

selectimage

按钮选中时显示的图像(需预先设置image属性)

font

文本的字体样式(如字体、大小、粗细等)

image

在按钮上显示的图片

cursor

鼠标悬停时的光标样式,如 "hand2", "cross" 等

relief

边框样式:FLAT(平坦)、RAISED(凸起)、SUNKEN(凹陷)、GROOVE(凹槽)、RIDGE(脊状)

(2)Radiobutton组件常用方法
方法
说明
select()

以编程方式选中当前单选按钮

deselect()
以编程方式取消选中当前单选按钮
invoke()

模拟用户点击,执行与command关联的回调函数

flash()

让按钮在激活和正常状态间闪烁几次,以引起用户注意

import tkinter as tk #以别名tk导入tkinter库root=tk.Tk() #创建主窗口的实例winroot.title("Frame组件测试窗口") #设置窗口的标题root.geometry("200x200+600+200")#设置窗口的大小和位置root.resizable(True,False) #设置窗口可水平缩放,禁止垂直缩放#定义标签属性更新函数def update_label():    selected=var.get()    if selected==1:        label.config(text="你选择了:选项A") #更新标签的text属性    elif selected==2:        label.config(text="你选择了:选项B")        else:        label.config(text="你选择了:选项C")#创建一个整数类型的控制变量var=tk.IntVar()var.set(1)  #设置默认选中值为1(对应“选项A”)#创建三个Radiobutton对象并关联同一个变量rb1=tk.Radiobutton(root,text="选项A",bg="red",fg="green",variable=var,value=1,command=update_label)rb1.pack(pady=5)rb2=tk.Radiobutton(root,text="选项B",variable=var,value=2,command=update_label)rb2.pack(pady=5)rb3=tk.Radiobutton(root,text="选项C",variable=var,value=3,command=update_label)rb3.pack(pady=5)#创建一个标签用于显示选择结果label=tk.Label(root,text="你选择了:选项A")label.pack(pady=20)tk.mainloop() #进入事件处理循环,防止窗口闪退

最新文章

随机文章