tkinter 工具栏菜单/按钮打开下拉 menu/gif
tkinter toolbar menu/ button open drop-down menu/gif
在工具栏中,我按下一个按钮,然后打开一个带有按钮的下拉菜单。图片是。按钮的 gif。我希望工具栏中的按钮可以打开带有按钮的下拉菜单(图像 - gif)。我该怎么做?
# Image Toolbar
img1 = PhotoImage(file = r\path\"img.gif")`
# Toolbar
toolbar = Frame(root, bd=1, relief=RAISED)
toolbar.pack(side=TOP, fill=X)
btn1 = Button(toolbar, relief=FLAT, compound= LEFT, text="",image=img1, command=submenu1)
btn1.pack(side=LEFT, padx=0, pady=0)
def submenu1():
# gif icon for submenu1:
imgvar1 = PhotoImage(file=r\path\.gif)
???
要制作带有 drop-down 菜单的按钮,我建议您使用 Menubutton
which was designed for that purpose — it's the part that stays on the screen all the time. After creating one you should create a Menu
小部件并配置 Menubutton
以使用它。
一旦你有了一个 Menu
实例,你就可以用不同种类的菜单项填充它,包括使用 Menu.insert_cascade()
方法由图像制成的菜单项。另请参阅此 Menu item creation 文档,其中描述了您可以创建和添加的所有不同类型的菜单项。
下面是一些示例代码,说明了我的意思。为简单起见,我使用了同一张图片两次——在 Menubutton
和 drop-down 菜单中的一个项目上,当它被点击时显示。
import tkinter as tk
from tkinter.constants import *
root = tk.Tk()
# Image Toolbar
img1 = tk.PhotoImage(file="8-ball.png")
# Toolbar
toolbar = tk.Frame(root, bd=1, relief=RAISED)
toolbar.pack(side=TOP, fill=X)
menubtn = tk.Menubutton(toolbar, relief=FLAT, compound=LEFT, text="", image=img1)
menubtn.pack(side=LEFT, padx=0, pady=0)
menu = tk.Menu(menubtn, tearoff=0)
menubtn.config(menu=menu)
menu.insert_command(0, label='Submit', command=lambda: print('Submit clicked'))
imgvar1 = tk.PhotoImage(file="8-ball.png")
menu.insert_cascade(1, image=imgvar1, command=lambda: print('Image pop out clicked'))
root.mainloop()
在工具栏中,我按下一个按钮,然后打开一个带有按钮的下拉菜单。图片是。按钮的 gif。我希望工具栏中的按钮可以打开带有按钮的下拉菜单(图像 - gif)。我该怎么做?
# Image Toolbar
img1 = PhotoImage(file = r\path\"img.gif")`
# Toolbar
toolbar = Frame(root, bd=1, relief=RAISED)
toolbar.pack(side=TOP, fill=X)
btn1 = Button(toolbar, relief=FLAT, compound= LEFT, text="",image=img1, command=submenu1)
btn1.pack(side=LEFT, padx=0, pady=0)
def submenu1():
# gif icon for submenu1:
imgvar1 = PhotoImage(file=r\path\.gif)
???
要制作带有 drop-down 菜单的按钮,我建议您使用 Menubutton
which was designed for that purpose — it's the part that stays on the screen all the time. After creating one you should create a Menu
小部件并配置 Menubutton
以使用它。
一旦你有了一个 Menu
实例,你就可以用不同种类的菜单项填充它,包括使用 Menu.insert_cascade()
方法由图像制成的菜单项。另请参阅此 Menu item creation 文档,其中描述了您可以创建和添加的所有不同类型的菜单项。
下面是一些示例代码,说明了我的意思。为简单起见,我使用了同一张图片两次——在 Menubutton
和 drop-down 菜单中的一个项目上,当它被点击时显示。
import tkinter as tk
from tkinter.constants import *
root = tk.Tk()
# Image Toolbar
img1 = tk.PhotoImage(file="8-ball.png")
# Toolbar
toolbar = tk.Frame(root, bd=1, relief=RAISED)
toolbar.pack(side=TOP, fill=X)
menubtn = tk.Menubutton(toolbar, relief=FLAT, compound=LEFT, text="", image=img1)
menubtn.pack(side=LEFT, padx=0, pady=0)
menu = tk.Menu(menubtn, tearoff=0)
menubtn.config(menu=menu)
menu.insert_command(0, label='Submit', command=lambda: print('Submit clicked'))
imgvar1 = tk.PhotoImage(file="8-ball.png")
menu.insert_cascade(1, image=imgvar1, command=lambda: print('Image pop out clicked'))
root.mainloop()