2017-07-11 48 views
0

我在tkinter中創建按鈕時嘗試使用「浮雕」選項,但按鈕樣式顯示不正確。Tkinter按鈕樣式(浮雕)顯示不正確

這裏是我找到的信息網站的鏈接。該網站上有預期結果的圖片。 https://www.tutorialspoint.com/python/tk_relief.htm

我的代碼:

from tkinter import * 
# from tkinter.ttk import * 


root = Tk() 
root_width, root_height = 200, 500 
root.geometry("{}x{}".format(root_width, root_height)) 

b1 = Button(root, text="button", relief=FLAT) 
b2 = Button(root, text="button", relief=RAISED) 
b3 = Button(root, text="button", relief=SUNKEN) 
b4 = Button(root, text="button", relief=GROOVE) 
b5 = Button(root, text="button", relief=RIDGE) 

b1.pack() 
b2.pack() 
b3.pack() 
b4.pack() 
b5.pack() 

root.mainloop() 

所有的按鈕出現在屏幕上看起來完全相同。 my result

想知道爲什麼會這樣,是有辦法,我能解決這個問題或其他的方法可以讓我自定義按鈕控件。

我試圖用TTK,但出現以下錯誤

_tkinter.TclError: unknown option "-relief" 

我目前運行Python3,在PyCharm,對MacBook Pro的安裝MacOS的塞拉利昂10.12。

謝謝!

+0

我剛剛在我的系統上運行代碼(Win10,Python3),它工作正常。我認爲這不是代碼本身的問題。你有沒有嘗試從命令行運行它?編輯:[鏈接](http://imgur.com/a/6JS90) – Nocab

回答

0

您正在OSX上運行,該操作系統對按鈕外觀有嚴格的規定。您無法更改OSX上的按鈕上的浮雕。

+0

那麼有沒有一種方法可以改變OSX上按鈕的佈局/外觀? – terryy

+0

@terryy:佈局?是。出現?不可以。但是,您可以使用圖像或標籤或畫布窗口小部件創建自定義按鈕。 –

+0

因此對於畫布或標籤,我如何使它成爲一個按鈕?在我之前的項目中,我使用畫布處理所有內容,並將鼠標按下功能。在那個函數中,我找到鼠標的座標並檢查它是否在canvas元素上。這真的很複雜。是否有更簡單的方法將標籤或畫布放入按鈕模式? – terryy