<Configure>
当我在用于包含要调整大小的图像的标签上绑定()回调时,我遇到了一些奇怪的行为,因为它包含的 Toplevel 已调整大小。
根据文档,<Configure>
回调应该在用户调整窗口大小(即顶层)时被调用。我发现回调在没有用户交互的情况下被调用。事实上,当我从处理程序更新图像以响应调整大小时,它似乎被调用了,这导致了一个恼人的循环,当用户移动(!)窗口时结束。每个调用都有
event.width
和/或event.height
稍大或稍小,具体取决于我如何调整图像大小。就好像我设置新图像 ( Label.configure(image={newImage})
) 的调用触发了回调,但这没有任何意义。
我试过用 pdb 跟踪这个,但我发现的只是一个来自 Tkinter.Tk.mainloop() 的调用,没有任何迹象表明是什么导致了它。我也尝试用一个小的演示程序(我可以在这里包含)复制它,但不能,所以我希望至少有人能够回答这个问题:
除了用户交互(或我自己的代码中的任何显式调用)之外,还有什么可能导致<Configure>
调用回调?
谢谢。