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

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

前言

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()效果:

相关数据

红布扎花步骤图解(怎样用红布扎红花教程)
365bet比分直播

红布扎花步骤图解(怎样用红布扎红花教程)

⏳ 07-16 💖 640
定制男友
365BET

定制男友

⏳ 08-06 💖 818
2025年技校都有什么专业适合女生 哪些专业前景好
beat365体育亚洲版登录

2025年技校都有什么专业适合女生 哪些专业前景好

⏳ 10-08 💖 776