|
Task 1:使用菜单和对话框
预期效果:
- 建立一个窗口,左上角是菜单栏,点击后会出现几个选项,如图
code:
- import tkinter as tk
- from tkinter import messagebox, filedialog
- # 创建主窗口
- root = tk.Tk()
- root.title("Tkinter 菜单和对话框示例")
- root.geometry("400x300")
- # 创建菜单栏
- menu_bar = tk.Menu(root)
- # 创建文件菜单
- file_menu = tk.Menu(menu_bar, tearoff=0)
- file_menu.add_command(label="Open", command=lambda: filedialog.askopenfilename())
- file_menu.add_command(label="Save", command=lambda: filedialog.asksaveasfilename())
- file_menu.add_separator()
- file_menu.add_command(label="Exit", command=root.quit)
- menu_bar.add_cascade(label="File", menu=file_menu)
- # 创建帮助菜单
- help_menu = tk.Menu(menu_bar, tearoff=0)
- help_menu.add_command(label="About", command=lambda: messagebox.showinfo("About", "This is a Tkinter demo"))
- menu_bar.add_cascade(label="Help", menu=help_menu)
- # 将菜单栏添加到主窗口
- root.config(menu=menu_bar)
- # 运行主事件循环
- root.mainloop()
复制代码 Attention:
- tearoff=0表示这个窗口不能被分离,也就是不能从菜单栏那里拿下来,假设不设置tearoff参数,那么默认参数为1,会在菜单栏和框体出现一条虚线表明可以拿下来 参见
- 注意这一行
file_menu.add_command(label="Open", command=lambda: filedialog.askopenfilename())
中的匿名函数是为了延迟函数的执行,如果我们去掉这个匿名函数,那么后面调用的打开文件函数就会在创建窗口的时候执行,而非我们点击开始菜单的 open时启用
- messagebox.showinfo()方法会产生一个弹窗,并且出现在最上层(不点掉没法干别的)
- 横向的项目 (例如file,help) 添加使用add_cascade() (级联) 方法,纵向 (例如open,save) 添加使用add_command()
来源:https://www.cnblogs.com/AusarPu/p/18305567
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|