Tkinter中复选菜单是否被选中的判断与设置方式

所属分类: 脚本专栏 / python 阅读数: 397
收藏 0 赞 0 分享

废话不多说,直接上代码,其中有注释,代码如下:

# 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中复选菜单是否被选中的判断与设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

pandas的qcut()方法详解

这篇文章主要介绍了pandas的qcut()方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

从列表或字典创建Pandas的DataFrame对象的方法

这篇文章主要介绍了从列表或字典创建Pandas的DataFrame对象的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas.DataFrame的pivot()和unstack()实现行转列

这篇文章主要介绍了pandas.DataFrame的pivot()和unstack()实现行转列,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pandas中的series数据类型详解

这篇文章主要介绍了pandas中的series数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas 时间格式转换的实现

这篇文章主要介绍了pandas 时间格式转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python中时间、日期、时间戳的转换的实现方法

这篇文章主要介绍了python中时间、日期、时间戳的转换的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

pandas进行时间数据的转换和计算时间差并提取年月日

这篇文章主要介绍了pandas进行时间数据的转换和计算时间差并提取年月日,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

这篇文章主要介绍了详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

python和c语言的主要区别总结

在本篇文章里小编给各位整理了关于python和c语言的主要区别的相关知识帖内容,有需要的朋友们学习阅读下。
收藏 0 赞 0 分享

选择Python写网络爬虫的优势和理由

在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧。
收藏 0 赞 0 分享
查看更多