【Python/Tkinter】实现程序菜单
程序源码:
import tkinter as tk
from tkinter.colorchooser import askcolordef set_colour():s=askcolor(color="red",title="选择背景色")root.config(bg=s[1])class Application(tk.Frame):def __init__(self,master=None):super().__init__(master)self.master=masterself.pack()self.createwidget()def createwidget(self):# 创建主菜单栏menubar=tk.Menu(root)# 创建主菜单栏下的菜单项menu_file = tk.Menu(menubar)menu_edit = tk.Menu(menubar)menu_help = tk.Menu(menubar)# 将菜单项添加入到菜单栏menubar.add_cascade(label="文件",menu=menu_file)menubar.add_cascade(label="编辑",menu=menu_edit)menubar.add_cascade(label="帮助",menu=menu_help)# 创建菜单项下的子功能menu_file.add_command(label="新建 (N)",accelerator="Ctrl+N",command=self.func1)menu_file.add_command(label="打开 (O)",accelerator="Ctrl+O",command=self.func2)menu_file.add_command(label="保存 (O)",accelerator="Ctrl+S",command=self.func3)menu_file.add_separator()menu_file.add_command(label="退出 (Q)",accelerator="Ctrl+Q",command=root.destroy)# 主菜单栏加载到根窗口root["menu"]=menubardef func1(self):print("新建菜单")def func2(self):print("打开菜单")def func3(self):print("保存菜单")if __name__== '__main__':root = tk.Tk()root.title("Tkinter 菜单")root.geometry("800x400+100+100")btn=tk.Button(root,text="修改背景色",command=set_colour)btn.pack(pady=10)app = Application(master=root)root.mainloop()
运行结果: