在工具列中,我按下一個按鈕,然后打開一個帶有按鈕的下拉選單。影像是。按鈕的 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)
???
uj5u.com熱心網友回復:
要制作一個帶有下拉選單的按鈕,我建議您使用Menubutton專為此目的而設計的一個按鈕——它是始終停留在螢屏上的部分。創建一個后,您應該創建一個Menu小部件并配置它Menubutton以使用它。
一旦你有了一個實體,你可以用不同型別的選單項來填充它,包括使用該方法Menu由影像組成的選單項。Menu.insert_cascade()另請參閱此菜單項創建檔案,其中描述了您可以創建和添加到其中的所有不同型別的選單項。
下面是一些示例代碼,說明了我的意思。為簡單起見,我兩次使用了相同的影像——在Menubutton單擊時顯示的下拉選單上的一個專案上。
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()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/435652.html
上一篇:tkinter串列框從MySQL資料庫中選擇并回傳值
下一篇:哪種演算法將是更快的演算法?
