下午好!为什么我必须双击才能更改我的按钮对象的浮雕? (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