【发布时间】:2017-04-11 18:51:01
【问题描述】:
为什么我的 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
【问题讨论】:
-
编辑您的帖子并放置一个文件,不要放置图像来显示您的代码。
-
我无法测试它,因为我不想重新输入你的代码,但我猜如果你使用
command参数而不是bind它会像你想要的那样工作:tkinter.Button(root, text="click me", command=self.click)。您还需要从 click 方法的参数中删除“事件”。下次将代码以文本形式发布。 -
@Jonathan 这可以解决问题,但有没有办法保持绑定?
-
是:绑定到“
”。下次在您的代码中包含所有需要的导入。您的示例应该是可运行的。 -
@Jonathan 你测试了吗?它仍然停留在沉没的浮雕中。我编辑了问题,谢谢:)