下午好!爲什麼我必須雙擊才能更改我的按鈕對象的浮雕? (tkinter)
爲什麼我必須雙擊才能更改我的按鈕對象的浮雕?
在我的方法結合,我的第一個參數是扣1,我不明白...
這裏是我的代碼,謝謝提前。
from tkinter import *
def sunken(event):
button = event.widget # détecte le bouton sur lequel on clique
button['relief'] = 'sunken' # changement de relief
root = Tk()
for i in range(8):
for j in range(8):
myButton = Button(root, text='', relief='raised')
myButton.grid(row=i, column=j)
myButton.bind("<Button-1>", sunken)
root.mainloop()
Python 3.x都有
我,我的英語道歉,我是法國人...
我不認爲我應該把這個作爲答案,因爲我不確定,但也許它與這樣一個事實有關,即當單擊Button時,它的'relief'將被'tkinter'自動更改爲'SUNKEN',然後再次恢復正常。我還注意到,你不需要點擊兩次,但如果兩次點擊同一個按鈕的時間超過10秒,它就不會下沉。這導致我相信在這個時間框架中兩個'relief'配置是相沖突的。 –
我同意,這是關於按鈕的默認行爲。如果使用輸入字段替換按鈕,則按預期工作。你可能會認爲一個按鈕默認綁定到一個左鍵事件,所以使用一個命令來回調你的按鈕內的函數可能會很好地爲你服務,比如Button(root,text ='',command = sunken) 。當然,你需要改變生成按鈕的方式,或者想出一些其他解決方法來將想要更改的按鈕傳遞給該函數。祝你好運! – atlasologist
@亞歷克斯,謝謝你,你把這個bug放在我耳邊,我發佈了很好的迴應 – Fred