前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【tkinter系列 第十一课 Menu窗口部件 】

【tkinter系列 第十一课 Menu窗口部件 】

作者头像
叶子陪你玩
发布2020-03-11 15:21:19
1.7K0
发布2020-03-11 15:21:19
举报
文章被收录于专栏:叶子陪你玩编程

前言

python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。

本节课将要学习Menu窗口部件,Menu是菜单栏的意思,菜单栏可以用来实现下拉和弹出式菜单,点击菜单后弹出的一个选项列表,用户可以从中选择。什么时候用:在设计比较复杂的软件时,为了使得用户体验更好,不能在一个界面上将所有操作都显示出来,通过菜单栏配合TopLevel,用户可以根据自己的需要自由选择。

下面图片中的 文件,编辑,格式等都是菜单,下拉选项是具体的功能。

创建一个最简菜单

代码:

代码语言:javascript
复制
from tkinter import *import tkinter.messageboxroot = Tk()root.geometry("400x200")root.title("父窗口")
def hello():    print("hello!")
# 创建顶部菜单栏menubar = Menu(root)menubar.add_command(label="打印", command=hello)menubar.add_command(label="关闭", command=root.quit)
# 显示菜单栏root.config(menu=menubar)
mainloop()

效果:

创建下拉菜单

代码:

代码语言:javascript
复制
from tkinter import *import tkinter.messageboxroot = Tk()root.geometry("400x200")root.title("父窗口")
def hello():    print("hello!")
# 创建顶部菜单栏menubar = Menu(root)
# 1.创建文件下拉菜单filemenu = Menu(menubar, tearoff=0)# 给下拉菜单添加选项filemenu.add_command(label="打开", command=hello)filemenu.add_command(label="保存", command=hello)filemenu.add_separator()filemenu.add_command(label="退出", command=root.quit)# 添加到菜单栏menubar.add_cascade(label="文件", menu=filemenu)
# 2.创建编辑下拉菜单editmenu = Menu(menubar, tearoff=0)editmenu.add_command(label="剪切", command=hello)editmenu.add_command(label="复制", command=hello)editmenu.add_command(label="粘贴", command=hello)# 添加到菜单栏menubar.add_cascade(label="编辑", menu=editmenu)
# 3.创建帮助下拉菜单helpmenu = Menu(menubar, tearoff=0)helpmenu.add_command(label="关于python", command=hello)helpmenu.add_command(label="发送反馈", command=hello)# 添加到菜单栏menubar.add_cascade(label="帮助", menu=helpmenu)
# 显示菜单栏root.config(menu=menubar)
mainloop()

效果:

解释:

下拉菜单和前面一个最简菜单其实非常相似,主要的不同点就是就是下拉菜单是使用add_cascade去绑定到父菜单的。

拓展

通过和TopLevel以及tkinter.filedialog可以实现打开新的窗口和打开文件等选项,更多用法可以查看官方文档,这里只是一个简单的案例启发,以后的实际项目案例中会使用到。

代码:

代码语言:javascript
复制
from tkinter import *import tkinter.messageboximport tkinter.filedialog
root = Tk()root.geometry("400x200")root.title("父窗口")
def about():    top=Toplevel()    top.geometry("400x200")    top.title("关于")    Label(top,text="tkinter非常好玩").pack()
def openFile():    filename=tkinter.filedialog.askopenfile()    print(filename)
# 创建顶部菜单栏menubar = Menu(root)
# 1.创建文件下拉菜单filemenu = Menu(menubar, tearoff=0)# 给下拉菜单添加选项filemenu.add_command(label="打开", command=openFile)filemenu.add_command(label="关于", command=about)filemenu.add_separator()filemenu.add_command(label="退出", command=root.quit)# 添加到菜单栏menubar.add_cascade(label="文件", menu=filemenu)
# 显示菜单栏root.config(menu=menubar)
mainloop()

效果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建一个最简菜单
  • 创建下拉菜单
  • 拓展
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档