为什么我按下它后,我的tkinter按钮会保持“凹陷”状态?
import tkinter
from tkinter import messagebox as msgbox
class GUI(object):
def __init__(self):
self.root = tkinter.Tk()
self.root.geometry("200x200")
self.root.title("Test")
self.testButton = tkinter.Button(self.root, text="Click Me!")
self.testButton.bind("<Button-1>", self.click)
self.testButton.bind("<ButtonRelease-1>", self.release)
self.testButton.pack()
def release(self, event):
event.widget.config(relief=tkinter.RAISED)
def click(self, event):
result = msgbox.askokcancel("Continue?", "Do you want to continue?")
if result:
print("Okay")
else:
print("Well then . . .")
print(event.widget.cget("relief"))
print()
if __name__ == "__main__":
test = GUI()
test.root.mainloop()
控制台显示浮雕被“抬起”,但在GUI上却保持“凹陷”状态,为什么? The GUI after pressing the Button
答案 0 :(得分:0)
你的回调是打印&#34;被提升&#34;因为你的代码是在默认按钮绑定之前运行的,所以实际上在调用你的函数时会增加按钮释放。
我很确定这是导致按钮保持沉没的原因:
1 有关tkinter如何处理事件的说明,请参阅以下答案:https://stackoverflow.com/a/11542200/7432。答案主要集中在键盘事件上,但同样的机制适用于鼠标按钮。