Python怎么用tkinter做顶部菜单栏样式
时间: 2024-09-17 08:05:27 浏览: 79
在Python中使用Tkinter库创建顶部菜单栏(也称为工具栏或标题栏)时,可以使用`ttk`模块提供的`Menubutton`和`Menu`功能。以下是一个简单的例子,展示如何创建带有不同样式的顶部菜单栏:
首先,确保已安装`ttk`模块,如果没有,请运行`pip install tkinter ttk`。
```python
import tkinter as tk
from tkinter import ttk
# 创建窗口
root = tk.Tk()
root.title("Top Menu Bar Example")
# 设置窗口图标(可选)
root.iconbitmap('your_icon.ico')
# 创建顶级菜单栏
top_menu_bar = ttk.Menu(root)
# 添加子菜单
file_menu = ttk.Menu(top_menu_bar, tearoff=0) # tearoff=0表示不提供下拉箭头
file_menu.add_command(label="New", command=lambda: print("New"))
file_menu.add_command(label="Open", command=lambda: print("Open"))
top_menu_bar.add_cascade(label="File", menu=file_menu)
edit_menu = ttk.Menu(top_menu_bar, tearoff=0)
edit_menu.add_command(label="Cut", command=lambda: print("Cut"))
edit_menu.add_command(label="Copy", command=lambda: print("Copy"))
top_menu_bar.add_cascade(label="Edit", menu=edit_menu)
# 将菜单添加到窗口顶部
top_menu_bar.config(font=("Arial", 12)) # 设置字体样式
top_menu_bar.pack(side=tk.TOP, fill=tk.X)
# 主循环
root.mainloop()
```
在这个例子中,我们创建了一个包含两个子菜单("File" 和 "Edit")的顶部菜单栏。每个子菜单都有命令(这里只是打印一条消息),并通过`config`设置全局字体样式。`pack`方法用于将菜单栏放在窗口顶部,并水平扩展。
要改变样式,你可以调整`font`属性中的颜色、大小等,还可以尝试其他`ttk`组件的样式选项,如`style`变量。具体风格可能依赖于你的主题配置。记得替换`'your_icon.ico'`为实际的图标文件路径。
阅读全文