Tkinter中复选菜单是否被选中的判断与设置方式


Posted in Python onMarch 04, 2020

废话不多说,直接上代码,其中有注释,代码如下:

# encoding: utf-8
"""
运行之后会出一个窗口,按钮点击会改变复选菜单的被选中状态,复选菜单是否被选中看前面是否有√。
点击复选菜单会打印被选中状态,注意点击之后是先变更状态后打印状态。
"""

from Tkinter import *


def change_check_button_state(evet):
 """改变复选菜单的被选中状态"""
 if var.get() == 0:
  var.set(1)
 else:
  var.set(0)


def print_check_button_state():
 """打印复选菜单是否被选中"""
 print("check button state: {}".format(var.get()))

# 主窗口
root = Tk()
root.wm_minsize(200, 100)

# 菜单栏
menu = Menu(root)
# 一级菜单,就是记事本中的"文件","编辑","格式"
menu_check = Menu(menu)
# ********** 注意:这个 var 对象是重点 **********
var = IntVar()
# 添加复选菜单
menu_check.add_checkbutton(label="check1", command=print_check_button_state, variable=var)
# 设置一级菜单
menu.add_cascade(label="check", menu=menu_check)
# 设置菜单栏
root["menu"] = menu

btn = Button(root, text="change check state")
btn.bind("<Button-1>", change_check_button_state)
btn.pack()

# 主循环
root.mainloop()

补充知识:Python笔记之Tkinter(menu右键菜单)

一、目标

学习Tkinter制作窗体软件的基础,menu右键菜单的制作。

二、试验平台

windows7 , python3.7

三、直接上代码

import tkinter
 
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口标题
win.geometry("500x300+200+20") # #窗口位置500后面是字母x
 
'''
鼠标右键菜单
'''
menubar = tkinter.Menu(win) # #创建菜单条
xMenu = tkinter.Menu(menubar, tearoff=False)  # #创建子菜单
for item in ["子菜单1", "子菜单2", "子菜单3", "子菜单4", "子菜单5"]:
 xMenu.add_command(label=item)
menubar.add_cascade(label="右键总菜单1", menu=xMenu)  # #创建总菜单,将子菜单绑定进来
 
def xShowMenu(event):
 menubar.post(event.x_root, event.y_root) # #将菜单条绑定上事件,坐标为x和y的root位置
 
win.bind("<Button-3>", xShowMenu)  # #设定鼠标右键触发事件,调用xShowMenu方法
 
win.mainloop() # #窗口持久化
 
# #2019年4月30日22:45:27 kahn

Tkinter中复选菜单是否被选中的判断与设置方式

以上这篇Tkinter中复选菜单是否被选中的判断与设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
Python中设置变量访问权限的方法
Apr 27 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
python指定写入文件时的编码格式方法
Jun 07 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
基于python实现坦克大战游戏
Oct 27 Python
Python基于unittest实现测试用例执行
Nov 25 Python
python 爬虫之selenium可视化爬虫的实现
Dec 04 Python
Django实现drf搜索过滤和排序过滤
Jun 21 Python
python虚拟环境模块venv使用及示例
Mar 04 #Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 #Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 #Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 #Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 #Python
python实现猜拳游戏
Mar 04 #Python
Python单例模式的四种创建方式实例解析
Mar 04 #Python
You might like
动态新闻发布的实现及其技巧
2006/10/09 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
Python使用minidom读写xml的方法
2015/06/03 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
Python可变参数用法实例分析
2017/04/02 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
python中spy++的使用超详细教程
2021/01/29 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
厨师岗位职责
2013/11/12 职场文书
司马光教学反思
2014/02/01 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
质检员岗位职责范本
2015/04/07 职场文书
小学生节水倡议书
2015/04/29 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js