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 相关文章推荐
pyv8学习python和javascript变量进行交互
Dec 04 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
python如何通过pyqt5实现进度条
Jan 20 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
详解Python模块化编程与装饰器
Jan 16 Python
python获取淘宝服务器时间的代码示例
Apr 22 Python
基于tensorflow权重文件的解读
May 26 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
一个域名查询的程序
2006/10/09 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python解析json文件相关知识学习
2016/03/01 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
python中的数据结构比较
2019/05/13 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
单位在职证明范本
2014/01/09 职场文书
商业活动邀请函
2014/02/04 职场文书
个人借款担保书
2014/04/02 职场文书
八项规定整改方案
2014/10/01 职场文书
万里长城导游词
2015/01/30 职场文书
保卫工作个人总结
2015/03/03 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android