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的词法分析与语法分析
May 18 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
Aug 16 Python
python使用Plotly绘图工具绘制散点图、线形图
Apr 02 Python
python requests指定出口ip的例子
Jul 25 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
python退出循环的方法
Jun 18 Python
为什么python比较流行
Jun 19 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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
dedecms中常见问题修改方法总结
2007/03/21 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
javascript 面向对象继承
2009/11/26 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
python自动化测试实例解析
2014/09/28 Python
用python制作游戏外挂
2018/01/04 Python
python2.7实现爬虫网页数据
2018/05/25 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
借款协议书
2014/04/12 职场文书
教师节活动总结
2014/08/29 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
2014年医院工作总结
2014/11/20 职场文书
趵突泉导游词
2015/02/03 职场文书
详解nginx进程锁的实现
2021/06/14 Servers
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技