📜  Python Tkinter菜单(1)

📅  最后修改于: 2023-12-03 14:46:05.369000             🧑  作者: Mango

Python Tkinter菜单

Python Tkinter是Python的标准GUI库之一,它提供了创建GUI应用程序所需的全部工具。Tkinter提供了许多小部件,例如按钮,文本框,标签和菜单等。

在本文中,我们将关注Python Tkinter菜单。菜单是一种常用的GUI小部件,它通常用于提供主要应用程序的选项。

创建简单的菜单

要创建简单的菜单,我们需要创建一个Menu小部件。我们可以使用add_command()方法来添加命令。以下是一个简单的示例,演示如何创建一个带有File和Exit选项的菜单:

import tkinter as tk

root = tk.Tk()
root.title("Menu Example")

# Create Menu
menu = tk.Menu(root)
root.config(menu=menu)

# Create File Menu
file_menu = tk.Menu(menu)
menu.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="Exit", command=root.quit)

root.mainloop()

上述示例中,我们首先创建了一个名为menu的菜单小部件,并将其配置为根窗口的菜单。然后,我们创建了名为file_menu的子菜单,并将其添加到父菜单(也就是menu)中。我们还将一个名为“Exit”的命令添加到file_menu,以在单击时退出应用程序。

添加更多选项

我们可以将更多选项添加到菜单中。我们可以使用add_cascade()方法来添加子菜单,也可以使用add_command()方法来添加命令。以下是一个示例,演示如何在简单的菜单中添加两个子菜单和一些命令:

import tkinter as tk

root = tk.Tk()
root.title("Menu Example")

# Create Menu
menu = tk.Menu(root)
root.config(menu=menu)

# Create File Menu
file_menu = tk.Menu(menu)
menu.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="New", command=lambda: print("New File"))
file_menu.add_separator()
file_menu.add_command(label="Exit", command=root.quit)

# Create Edit Menu
edit_menu = tk.Menu(menu)
menu.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Cut", command=lambda: print("Cut"))
edit_menu.add_command(label="Copy", command=lambda: print("Copy"))
edit_menu.add_command(label="Paste", command=lambda: print("Paste"))

# Create Help Menu
help_menu = tk.Menu(menu)
menu.add_cascade(label="Help", menu=help_menu)
help_menu.add_command(label="About", command=lambda: print("About"))

root.mainloop()

上述示例中,我们添加了一个名为“Edit”的子菜单,并向其添加了三个命令。我们还添加了另外两个子菜单:名为“Help”的子菜单,以及名为“File”的子菜单中的选项“New”和“Exit”。

自定义菜单样式

使用Python Tkinter,我们可以自定义菜单的外观。我们可以使用Menu和Menuitem的configure()方法来更改菜单的样式和属性。

下面的示例演示如何自定义菜单的外观:

import tkinter as tk

root = tk.Tk()
root.title("Menu Example")

# Create Menu
menu = tk.Menu(root, bg="red", fg="white", font=("Helvetica", 16))
root.config(menu=menu)

# Create File Menu
file_menu = tk.Menu(menu, bg="blue", fg="white", font=("Helvetica", 14))
menu.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="New", command=lambda: print("New File"))

# Create Edit Menu
edit_menu = tk.Menu(menu, bg="green", fg="white", font=("Helvetica", 14))
menu.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Cut", command=lambda: print("Cut"))

root.mainloop()

在上面的示例中,我们更改了菜单和菜单项的背景色、前景色和字体。注意,我们可以在创建菜单和菜单项时进行这些更改,也可以使用configure()方法在稍后的时间进行这些更改。

总结

Python Tkinter菜单是创建GUI应用程序的基本工具之一。我们可以使用add_command()和add_cascade()方法添加命令和子菜单,还可以使用configure()方法更改菜单和菜单项的样式和属性。希望您已经了解了如何创建Python Tkinter菜单,并以此为基础创建了您自己的菜单。