欢迎访问宙启技术站
智能推送

使用tkinter.ttkMenubutton()创建带图标的菜单

发布时间:2023-12-28 05:19:06

在Python的tkinter库中,我们可以使用ttkMenubutton()创建带图标的菜单按钮。ttk(Tile themed tkinter)提供了现代化的界面风格,增强了用户体验。

首先,我们需要导入tkinter和ttk模块:

from tkinter import *
from tkinter import ttk

然后,我们可以创建一个Tk窗口,并设置其标题:

root = Tk()
root.title("带图标的菜单按钮示例")

接下来,我们可以定义一个用于点击菜单按钮时要执行的函数:

def open_menu():
    print("菜单按钮被点击了!")

接着,我们可以创建一个ttkMenubutton部件,并为其添加一个图标。ttkMenubutton可以使用compound选项来设置图标的位置,可以选择值为BOTTOM、RIGHT、TOP或LEFT。

# 创建并添加图标
icon = PhotoImage(file="icon.png")  # 替换为您自己的图标文件路径
menu_btn = ttk.Menubutton(root, text="菜单按钮", image=icon, compound=LEFT)
menu_btn.image = icon  # 记得保存对图标的引用
menu_btn.pack()

然后,我们可以创建一个菜单,并为菜单添加一些选项:

menu = Menu(menu_btn, tearoff=False)
menu.add_command(label="选项1", command=open_menu)
menu.add_command(label="选项2", command=open_menu)
menu.add_command(label="选项3", command=open_menu)

接着,我们可以将菜单设置为菜单按钮的菜单,并显示窗口:

menu_btn.config(menu=menu)
root.mainloop()

完整的代码如下:

from tkinter import *
from tkinter import ttk

root = Tk()
root.title("带图标的菜单按钮示例")

def open_menu():
    print("菜单按钮被点击了!")

# 创建并添加图标
icon = PhotoImage(file="icon.png")  # 替换为您自己的图标文件路径
menu_btn = ttk.Menubutton(root, text="菜单按钮", image=icon, compound=LEFT)
menu_btn.image = icon  # 记得保存对图标的引用
menu_btn.pack()

# 创建菜单选项
menu = Menu(menu_btn, tearoff=False)
menu.add_command(label="选项1", command=open_menu)
menu.add_command(label="选项2", command=open_menu)
menu.add_command(label="选项3", command=open_menu)

menu_btn.config(menu=menu)
root.mainloop()

在上述示例中,我们创建了一个带有图标的菜单按钮。当点击菜单按钮时,将调用open_menu函数并打印一条消息。您需要将路径"icon.png"替换为您自己的图标文件路径。

这是一个简单的例子,可以根据自己的需求进行扩展和修改。