import tkinter as tk #以别名tk导入tkinter库root=tk.Tk() #创建主窗口的实例winroot.title("Frame组件测试窗口") #设置窗口的标题root.geometry("200x200+600+200")#设置窗口的大小和位置root.resizable(True,False) #设置窗口可水平缩放,禁止垂直缩放tk.mainloop() #进入事件处理循环,防止窗口闪退
Radiobutton(单选按钮)是 Tkinter 中实现“多选一”功能的经典组件,通常需要一组配合使用。它包含了大量通用属性和部分独有属性,并提供了select()、deselect()等几种常用的操作方法。
| |
| 核心属性:关联一个控制变量,同一组按钮需共享同一个变量 |
| 核心属性:设置按钮被选中时,variable被赋予的值 |
| 按钮显示的文本标签 |
| 按钮状态改变时调用的函数或方法 |
| 控制按钮状态:NORMAL(正常)、ACTIVE(激活)、DISABLED(禁用) |
| 是否显示圆形指示器。True(默认)显示;False则按钮变为类似“推-推”按钮的样式,选中时凹陷 |
| 按钮的宽/高。对文本按钮,单位是字符数;对图像按钮,单位是像素 |
| 当空间大于所需时,控制内容的位置,如CENTER, N, S等 |
| 多行文本的对齐方式:LEFT, CENTER, RIGHT |
| 同时显示文本和图像时,定义相对位置,如LEFT, TOP等 |
| 背景色和前景色(文本颜色) |
| activebackground/activeforeground | 鼠标悬停(即state为ACTIVE)时的背景/前景色 |
| 按钮禁用时文本的颜色 |
| 按钮被选中时的颜色 |
| 按钮选中时显示的图像(需预先设置image属性) |
| 文本的字体样式(如字体、大小、粗细等) |
| 在按钮上显示的图片 |
| 鼠标悬停时的光标样式,如 "hand2", "cross" 等 |
| 边框样式:FLAT(平坦)、RAISED(凸起)、SUNKEN(凹陷)、GROOVE(凹槽)、RIDGE(脊状) |
| |
| 以编程方式选中当前单选按钮 |
| |
| 模拟用户点击,执行与command关联的回调函数 |
| 让按钮在激活和正常状态间闪烁几次,以引起用户注意 |
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() #进入事件处理循环,防止窗口闪退