1
我已經看到這個主題的一些帖子,並嘗試過沒有成功的建議。我想用圖像創建一個tkinter按鈕。下面的代碼創建按鈕就好了,但它在看起來很醜的圖像之外繪製了一個薄邊框。我怎樣才能擺脫按鈕邊框?我在Mac OS X 10.12.3上使用Python 3.5。創建一個沒有邊框的tkinter圖像按鈕
下面的代碼:
from tkinter import *
from tkinter import ttk
sDefaultImage = None
def sStockPileObserver():
print("Button clicked")
def main():
global sDefaultImage
sRoot = Tk()
sMainFrame = ttk.Frame(sRoot, padding="3 3 12 12")
sMainFrame.grid(column=0, row=0, sticky=(N, W, E, S))
sMainFrame.columnconfigure(0, weight=1)
sMainFrame.rowconfigure(0, weight=1)
sMainFrame.rowconfigure(2, minsize=85)
sDefaultImage = PhotoImage(file='backDimmed.gif')
s = ttk.Style()
bg = s.lookup('TFrame', 'background')
s.configure("SolitaireCard.TButton", borderwidth=0, background=bg, highlightbackground=bg, \
highlightthickness=0, activebackground=bg, activeforeground=bg, padx=0)
sStockPileButton = ttk.Button(sMainFrame, image=sDefaultImage, style="SolitaireCard.TButton", width=0, command=lambda: sStockPileObserver())
sStockPileButton.grid(column=1, row=1, sticky=(W, E), padx=0)
return sRoot
sRoot = main()
sRoot.mainloop()
這裏是它產生:
也許你可以把圖像放在Label而不是Button中。我懷疑這會讓你更好地控制邊框風格。如果您在考慮「但是如何檢測標籤上的鼠標點擊?」,您可以使用'bind'方法。 – Kevin