经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python?tkinter?多选按钮控件?Checkbutton方法
来源:jb51  时间:2022/8/1 9:57:17  对本文有异议

1.多选按钮的方法

以下为常用的方法:

方法描述deselect()清除多选按钮选中选项。flash()在激活状态颜色和正常颜色之间闪烁几次多选按钮,但保持它开始时的状态。invoke()可以调用此方法来获得与用户单击多选按钮以更改其状态时发生的操作相同的操作select()设置多选按钮为选中。toggle()选中与没有选中之间切换

1.2select()

设置某一个多选按钮为选中的状态,可以通过select()指定特定的单选按钮被选中。

  1. import tkinter as tk
  2. root=tk.Tk()
  3. root.geometry('300x240')
  4. b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
  5. b1.pack()
  6. b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
  7. b2.pack()
  8. b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
  9. b3.pack()
  10. b2.select()
  11. root.mainloop()

结果:

1.2 deselect()

跟select方法是相反的操作,取消某个单选按钮被选中。

  1. import tkinter as tk
  2. root=tk.Tk()
  3. root.geometry('300x240')
  4.  
  5. b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
  6. b1.pack()
  7. b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
  8. b2.pack()
  9. b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
  10. b3.pack()
  11.  
  12. def deselect():
  13. b2.deselect()
  14. b4=tk.Button(root,text='取消蓝色',command=deselect)
  15. b4.pack()
  16.  
  17. root.mainloop()

结果:

1.3 flash()

在激活状态颜色和正常颜色之间闪烁几次多选按钮,但保持它开始时的状态。必须设置activeforeground或者activebackground中的任何一个或者全部,否则没有效果。注意只有被选中的按钮才会起作用。

  1. import tkinter as tk
  2. root=tk.Tk()
  3. root.geometry('300x240')
  4. check=[tk.StringVar(),tk.StringVar(),tk.StringVar()]
  5. for i in range(0,3):
  6. check[i].set("0")
  7. b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5,
  8. variable=check[0],activebackground='green',
  9. activeforeground='yellow')
  10. b1.pack()
  11. b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5,
  12. variable=check[1],activebackground='red',
  13. activeforeground='yellow')
  14. b2.pack()
  15. b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5,
  16. variable=check[2],activebackground='blue',
  17. activeforeground='yellow')
  18. b3.pack()
  19.  
  20. def flash():
  21. if check[0].get()=="1":
  22. b1.flash()
  23. if check[1].get()=="1":
  24. b2.flash()
  25. if check[2].get()=="1":
  26. b3.flash()
  27.  
  28. b4=tk.Button(root,text='Flash',command=flash)
  29. b4.pack()
  30. root.mainloop()

1.4 invoke()

模拟多选按钮被选中的情况。

  1. import tkinter as tk
  2. root=tk.Tk()
  3. root.geometry('300x240')
  4.  
  5. b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
  6. b1.pack()
  7. b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
  8. b2.pack()
  9. b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
  10. b3.pack()
  11.  
  12. def invoke():
  13. b2.invoke()
  14. b4=tk.Button(root,text='Invoke',command=invoke)
  15. b4.pack()
  16.  
  17. root.mainloop()

结果:

1.5 toggle()

切换多选按钮的状态。如果目前是选中的状态,则变为未选中。反之亦然。toggle()的效果也invoke()是一样的。

  1. import tkinter as tk
  2. root=tk.Tk()
  3. root.geometry('300x240')
  4.  
  5. b1 = tk.Checkbutton(root,bg='red',text='红色',bd=5)
  6. b1.pack()
  7. b2 = tk.Checkbutton(root,text='蓝色',bg='blue',bd=5)
  8. b2.pack()
  9. b3 = tk.Checkbutton(root,text='绿色',bg='green',bd=5)
  10. b3.pack()
  11.  
  12. def toggle():
  13. b2.toggle()
  14. b4=tk.Button(root,text='Toggle',command=toggle)
  15. b4.pack()
  16.  
  17. root.mainloop()

结果:

到此这篇关于Python tkinter 多选按钮控件 Checkbutton方法的文章就介绍到这了,更多相关Pytho Checkbutton 内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号