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 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
python实现月食效果实例代码
Jun 18 Python
感知器基础原理及python实现过程详解
Sep 30 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
Python进程池Pool应用实例分析
Nov 27 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
pymysql的简单封装代码实例
Jan 08 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
python -v 报错问题的解决方法
Sep 15 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
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
php搜索文件程序分享
2015/10/30 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python线程信号量semaphore使用解析
2019/11/30 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python离线安装外部依赖包的实现
2020/02/13 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
咨询公司各岗位职责
2013/12/02 职场文书
护理个人求职信范文
2014/01/08 职场文书
初一生物教学反思
2014/01/18 职场文书
读书活动总结范文
2014/04/26 职场文书
法定代表人资格证明书
2014/09/11 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
python Django框架快速入门教程(后台管理)
2021/07/21 Python