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类里的__init__方法函数,Python类的构造函数
Dec 10 Python
人机交互程序 python实现人机对话
Nov 14 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
python3库numpy数组属性的查看方法
Apr 17 Python
python查看模块,对象的函数方法
Oct 16 Python
python实现简易动态时钟
Nov 19 Python
python pandas时序处理相关功能详解
Jul 03 Python
Python如何使用函数做字典的值
Nov 30 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
python中turtle库的简单使用教程
Nov 11 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
Python用Jira库来操作Jira
Dec 28 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
浅谈php扩展imagick
2014/06/02 PHP
深入分析PHP设计模式
2020/06/15 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
JavaScript函数详解
2014/11/17 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
layui实现数据分页功能
2019/07/27 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
python实现下载整个ftp目录的方法
2017/01/17 Python
快速了解python leveldb
2018/01/18 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
室内拓展活动方案
2014/02/13 职场文书
中学生励志演讲稿
2014/04/26 职场文书
艾滋病宣传标语
2014/06/25 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
表扬信格式模板
2015/05/05 职场文书
中学社团活动总结
2015/05/07 职场文书
民主生活会意见
2015/06/05 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
Python实现单例模式的5种方法
2021/06/15 Python