Python tkinter 多选按钮控件 Checkbutton方法
作者:hqx 时间:2022-12-31 08:38:46
1.多选按钮的方法
以下为常用的方法:
方法描述deselect()清除多选按钮选中选项。flash()在激活状态颜色和正常颜色之间闪烁几次多选按钮,但保持它开始时的状态。invoke()可以调用此方法来获得与用户单击多选按钮以更改其状态时发生的操作相同的操作select()设置多选按钮为选中。toggle()选中与没有选中之间切换
1.2select()
设置某一个多选按钮为选中的状态,可以通过select()指定特定的单选按钮被选中。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
b3.pack()
b2.select()
root.mainloop()
结果:
1.2 deselect()
跟select方法是相反的操作,取消某个单选按钮被选中。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
b3.pack()
def deselect():
b2.deselect()
b4=tk.Button(root,text='取消蓝色',command=deselect)
b4.pack()
root.mainloop()
结果:
1.3 flash()
在激活状态颜色和正常颜色之间闪烁几次多选按钮,但保持它开始时的状态。必须设置activeforeground或者activebackground中的任何一个或者全部,否则没有效果。注意只有被选中的按钮才会起作用。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
check=[tk.StringVar(),tk.StringVar(),tk.StringVar()]
for i in range(0,3):
check[i].set("0")
b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5,
variable=check[0],activebackground='green',
activeforeground='yellow')
b1.pack()
b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5,
variable=check[1],activebackground='red',
activeforeground='yellow')
b2.pack()
b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5,
variable=check[2],activebackground='blue',
activeforeground='yellow')
b3.pack()
def flash():
if check[0].get()=="1":
b1.flash()
if check[1].get()=="1":
b2.flash()
if check[2].get()=="1":
b3.flash()
b4=tk.Button(root,text='Flash',command=flash)
b4.pack()
root.mainloop()
1.4 invoke()
模拟多选按钮被选中的情况。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
b3.pack()
def invoke():
b2.invoke()
b4=tk.Button(root,text='Invoke',command=invoke)
b4.pack()
root.mainloop()
结果:
1.5 toggle()
切换多选按钮的状态。如果目前是选中的状态,则变为未选中。反之亦然。toggle()的效果也invoke()是一样的。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')
b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
b1.pack()
b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
b2.pack()
b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
b3.pack()
def toggle():
b2.toggle()
b4=tk.Button(root,text='Toggle',command=toggle)
b4.pack()
root.mainloop()
结果:
来源:https://blog.csdn.net/weixin_42272768/article/details/100725162
标签:Python,tkinter,多选,按钮,控件,Checkbutton
0
投稿
猜你喜欢
Mysql CONVERT函数的具体使用
2024-01-27 03:52:12
sqlserver 快速生成汉字的首拼字母的函数(经典)
2012-06-06 20:16:41
Python实现自动化发送邮件
2023-12-07 14:39:58
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2021-07-29 00:54:25
ASP.NET MVC使用区域(Area)功能
2024-06-05 09:25:04
深度理解Python中Class类、Object类、Type元类
2022-07-14 03:10:13
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2024-04-16 08:48:57
vue-cli开发环境实现跨域请求的方法
2024-05-13 09:14:10
Django ValuesQuerySet转json方式
2021-12-05 07:15:34
如何运行Python程序的方法
2023-01-13 07:56:03
vue实现价格日历效果
2023-07-02 17:01:14
python使用Faker进行随机数据生成
2023-12-21 14:24:33
在ASP中使用SQL语句之7:ORDER BY
2007-08-11 12:51:00
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2023-06-30 16:23:31
python获取指定时间段内特定规律的日期列表
2021-02-09 02:16:25
java配置数据库连接池的方法步骤
2024-01-17 21:00:32
Python通过Tesseract库实现文字识别
2023-02-28 13:29:46
Keras自定义实现带masking的meanpooling层方式
2021-06-23 03:29:47
用Python中的__slots__缓存资源以节省内存开销的方法
2021-06-21 10:33:40
python本地文件服务器实例教程
2022-07-31 16:38:17