这篇文章将为大家详细讲解有关Tkinter中判断复选菜单是否被选中的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
代码如下:
# 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中判断复选菜单是否被选中的示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:Tkinter中判断复选菜单是否被选中的示例-创新互联
文章链接:https://www.cdcxhl.com/article46/dsjceg.html
成都网站建设公司_创新互联,为您提供网站制作、外贸建站、网站导航、ChatGPT、定制开发、网站设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联