python之 tkinter中菜单栏快速学习(菜单栏,弹出菜单等)

python之tkinter中菜单栏的快速学习
本文主要讲述菜单栏的一些应用,附上代码,供大家学习。

import tkinter#导入tkinter库
top=tkinter.Tk()#创建一个主窗口
top.geometry('400x800+0+0')#指定主窗口大小
top.wm_title('Menu菜单功能的实现') #设置标题名称
main_m=tkinter.Menu(top)#创建主菜单
#-----------------------------------------------------------#
item_File=tkinter.Menu(main_m,tearoff=0) #创建菜单,tearoff=0是关闭第0行虚线
for i in ['New','Open','Save','Save As']:#利用for循环逐一给菜单增添下来菜单item_File.add_command(label=i)#label是设置下拉菜单的名称item_File.add_separator() #指定分隔线for i in ['Option1','Option2','Option3','Option14']:#利用for循环逐一给菜单增添下来菜单item_File.add_checkbutton(label=i)#创建选择按钮菜单,可多选item_File.add_separator() #指定分隔线for i in ['Option1','Option2','Option3','Option4']:#利用for循环逐一给菜单增添下来菜单item_File.add_radiobutton(label=i)#创建单选按钮菜单,只能单选main_m.add_cascade(label='File',menu=item_File)#级连
#-----------------------------------------------------------#
item_Edit=tkinter.Menu(main_m,tearoff=0)for i in ['Copy','Cut','Paste']:item_Edit.add_command(label=i)main_m.add_cascade(label='Edit',menu=item_Edit)#级连
#------------------------------------------------------------#
def f():global top,jump_main #定义全局变量tkinter.Label(top,text=top.winfo_pointerxy()).grid(row=0,column=0) #或者用pack()会将坐标直接显示在中间,并且一直累积下去#winfo_ponterxy()是显示坐标值
def abc(xyz):jump_main.post(xyz.x,xyz.y)#post为弹出菜单
#-----------------------------------------------------------#
jump_main=tkinter.Menu(top,tearoff=0)for i in ['Refresh','Copy','Paste','Exit']:#利用for循环逐一给菜单增添下来菜单jump_main.add_command(label=i) #label是设置下拉菜单的名称jump_main.add_command(label='Display',command=f)
top.bind('<Button-3>',abc)#bind绑定事件,点击鼠标右键执行相应函数top['menu']=main_m#指定顶层菜单
top.mainloop()

另外,
关于菜单栏还有一些属性,如下:
activebackground,鼠标位于组件上方时,显示组件背景颜色
activeborderwidth,
activeforeground,鼠标位于组件上方时,显示组件背景颜色
background,背景颜色
borderwidth,选择边缘的宽度,默认值为2像素点宽
cursor,指出鼠标形状
disabledforeground,
font,指出文本的字体字号
foreground,前景颜色
postcommand,可将这个选项设置为一个函数,当用户点击菜单时调用函数
relief,指出组件风格,默认为flat
selectcolor,指定选择按钮或单选按钮的显示颜色
tearoff,设置为0,关闭菜单项上第0行的虚线
tearoffcommand,菜单独立被触发时的回调
title,设置控件标题
等。

菜单设置的一些方法及命令:
#添加一个子菜单 option为配置选项
add_cascade(option…)
#添加一个切换按钮 option为配置选项
add_checkbutton(option…)
#添加一个功能按钮 option为配置选项
add_command(option…)
#添加一个单选按钮 option为配置选项
add_radiobutton(option…)
#添加一个分割线
add_separator()
#删除index1 到 index2之间的选项
delete(index1,index2)
#在指定位置插入一个子菜单
insert_cascade(index,option…)
#在指定位置插入一个切换按钮
insert_checkbutton(index,option…)
#在指定位置插入一个功能按钮
insert_command(index,option…)
#在指定位置插入一个单选按钮
insert_radiobutton(index,option…)
#在指定位置插入一个分割线
insert_separator(index)
#在窗口指定位置弹出菜单
post(x,y)
#获取个选项的类型
type(index)
#获取某个选项距离菜单顶部的偏移量
yposition(n)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何命令行远程连接centos_如何使用windows远程控制centOS桌面

如何远程控制centOS桌面? 如何使用windows远程控制centOS桌面?1.查看本机是否有安装vnc(centOS5默认有安装vnc)rpm -q vnc vnc-server如果显示结果为&#xff1a;package vnc is not installedvnc-server-4.1.2-14.e15_3.1那恭喜你&#xff0c;机器上已经安装了vnc&#xff0…

【大数据】Hadoop入门预告版

背景 当今世界&#xff0c;大数据无处不在&#xff0c;它影响到了我们的工作、生活和学习&#xff0c;并将继续施加更大的影响。 大数据用于描述这样的数据组&#xff0c;其规模超出了日常软件在可容忍期限内获取、管理和加工数据的能力。一些网络技术领先的公司持续地投资于昂…

Python ——告白小程序,添加微信号(快来设置你的freestyle吧)

朋友过生日&#xff0c;然后就在搜一些小程序&#xff0c;哈哈哈O(∩_∩)O哈哈~ 然后就搜到了一些表白的小程序&#xff0c; 然后再自己改了改&#xff0c;增加了一个添加微信的功能。然后加载了背景音乐&#xff0c;啦啦啦啦啦&#xff0c;赶紧告白起来吧 图片和音乐可以根据自…

airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法

苹果全新AirPods Pro增加了许多新功能。首先,是控制播放。苹果在AirPods Pro中放弃了敲击手势,并用杆上的力传感器取代了它。控制音乐或视频只需要简单的短按即可。一次按压即可播放或暂停当前播放。两次按压将跳至下一曲目,而三次挤压则向后移动。可以通过按压任一AirPods …

UML基础知识点

UML : unified Modeling Language 统一建模语言1.对系统问题进行分析和建模2.非专利的第三代建模和规约语言3.UML是一种开放的方法、用于说明、可视化、构建、编写一个正在开发的、面向对象的、软件密集系统的开放方法4.UML集成了Booch、OMT和面向对象软件工程的概念面向对…

如何实现listbox选项,然后双击鼠标实现选项的删除

如何实现双击鼠标左键然后删除列表框中的选项呢&#xff1f; 只需要两步&#xff1a; 第一步&#xff0c;建立listbox控件与鼠标事件的绑定并给一个跳转函数; 如本例中的listbox控件&#xff0c;绑定事件<Double-Button-1>&#xff0c;其含义是指双击鼠标左键&#xf…

因变量 方差膨胀系数_请问如何计算潜变量的方差膨胀因子(VIF)?

这里提供一个 Python 实现的方法和原理趣分析方差膨胀因子是非常经典缓解多元共线性的方法&#xff0c;原理简单&#xff0c;实现优雅&#xff0c;效果拔群。源代码源数据可私聊俺获取&#xff0c;每天固定时间查看和回复。原理趣析多重线性回归模型的主要假设之一是我们的预测…

下拉到底部加载更多

var p1; active_list();function active_list() {$.ajax({type: "GET",url: "{:U(User/glodLogList_data)}",data: {page:p},dataType: "json",success: function(data){if(datanull){$("#add_more").html(没有更多了);$("#add_m…

Print() 语句以及数字赋值语句 中if-else的使用

#print语句以及num里面if else 的变态语句 x10 num110 if x>8 else 20 #如果中间语句成立为True,则执行输出左边语句&#xff1b;否则为False 则输出右边语句 print(num1) num110 if x>15else 20 #如果中间语句成立为True,则执行输出左边语句&#xff1b;否则为False 则输…

幻世机器人_2014年科幻动作《幻世追踪/启动机械码》BD中英双字幕

◎译  名 幻世追踪/启动机械码(台)◎片  名 Vice◎年  代 2015◎国  家 美国◎类  别 动作/科幻/惊悚/冒险◎语  言 英语◎字  幕 中英双字幕◎IMDB评分 4.0/10 from 3,848 users◎文件格式 BD-RMVB◎视频尺寸 1280 x 720◎文件大小 1CD◎片  长 96…

单链表逆置

单链表的逆置问题&#xff0c;常常遇到&#xff0c;今天总结如下&#xff1a; 方法&#xff1a;头插法&#xff1a; 图示&#xff1a; 代码&#xff1a; //翻转单链表 ListNode* Revers(ListNode* pHead) {ListNode* newhead NULL;ListNode* cur pHead;while(cur){ListNode* …

if-else多级嵌套,输入3/4/5个数寻找最大值(太多了容易乱!!!)

哎呀呀&#xff0c;心累啊&#xff0c;玩这个多级嵌套&#xff0c;眼花~ 多级嵌套有序3个数&#xff08;找最大值&#xff09; a,b,ceval(input("a,b,c")) if a>b:pass #a (a,b)if a>c:print("max",a)if b>c:print(b,c)else:print(c,b)else:p…

页面 接收跳转数据_【实战案例】在线教育渠道落地页数据分析

商业数智化工作坊“ 与多位来自高校的专家学者与业界导师共同探索商业数字化、智能化发展趋势、技术及实践培养数字思维&#xff0c;掌握数智化工具&#xff0c;实现管理能力跃迁”1背景与目标通过对跟渠道落地页数据的分析&#xff0c;优化用户路径&#xff0c;提高各环节的转…

竞态条件和临界区

1. 临界区和竞态条件&#xff1a; 临界区&#xff1a;访问和操作共享数据的代码段&#xff1b; 竞态条件&#xff1a;当有多个线程同时进入临界区时&#xff0c;执行结果取决于线程的执行顺序&#xff1b; 如下述代码&#xff0c;当多个线程同时调用func函数&#xff0c;对共享…

MATLAB程序实现经纬度转换成平面坐标

近期搜了下经纬度坐标转换成直角坐标的程序和原理啥的&#xff0c;哎&#xff0c;真难啊&#xff0c;其实道理都懂吧&#xff0c;下面直接贴代码&#xff0c; 主要是加了个for循环而言&#xff0c;优化输出效果。 %%%MATLAB程序实现经纬度转换成平面尔坐标&#xff1a; M_PI3…

ANSYS2020R2与Solidworks2019进行关联,但2019安装完后打开出现无法获得下列许可SOLIDWORKS Standard.使用许可文件不支持此版本(-21,126,0)

本身想将ANSYS2020R2与Solidworks进行关联&#xff0c;本身电脑上安装了2016版本&#xff0c;但是使用ANSYS2020R2软件&#xff0c;无法关联上。又没找到相应方法去解决&#xff0c;估计是版本问题无法关联上吧&#xff0c;所以就重新下个高点的版本试试。在网上下载相关软件&a…

jquerymobile使用技巧

1&#xff09;ajax开关&#xff08;默认jquery以ajax方式加载页面&#xff09; $.mobile.ajaxEnabled false; 2&#xff09;不编译指定标签 $.mobile.page.prototype.options.keepNative"input"; 3&#xff09;开启dom缓存 $.mobile.page.prototype.options.domCach…

git 使用writer_GitHub - Vpredictor/WriterFly: [QT/C++] 写作天下,为作家创造世界而生,执云作笔,诉尽平生意。...

写作天下简介为作家们创造世界而诞生&#xff0c;执云作笔&#xff0c;诉尽平生意。集简约UI与人性化AI于一体的码字工具&#xff0c;无论是小说、作文、日记、报告&#xff0c;都能轻松驾驭。QQ交流群&#xff1a;705849222特点已有功能&#xff1a;自由的目录&#xff1a;自动…

《Linux内核》课本读书笔记 第三章

转载于:https://www.cnblogs.com/bushifudongjing/p/5339017.html

android 动态切换aar_Android应用开发之动态更改AndroidManifest.xml中节点属性操作教程...

本文将带你了解Android应用开发之动态更改AndroidManifest.xml中节点属性操作教程&#xff0c;希望本文对大家学Android有所帮助。在Android使用Gradle进行编译打包时&#xff0c;有时候需要动态更改AndroidManifest.xml中application、activity等节点属性&#xff0c;大多数情…