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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
python从sqlite读取并显示数据的方法
May 08 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
python3中eval函数用法使用简介
Aug 02 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
Python 面向对象部分知识点小结
Mar 09 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
python绘制简单直方图(质量分布图)的方法
Apr 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
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
用Python抢过年的火车票附源码
2015/12/07 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
促销活动总结报告
2014/04/26 职场文书
捐款活动总结
2014/08/27 职场文书
校长个人总结
2015/03/03 职场文书