gpt4 book ai didi

python - 调整窗口大小时 tkinter 得到

转载 作者:行者123 更新时间:2023-11-28 22:33:06 24 4
gpt4 key购买 nike

我正在 Canvas 上绘制图片库。调整窗口大小时,我需要重新绘制画廊。
我可以绑定(bind) <configure>事件以获取调整大小通知。但是通过拖动鼠标来调整窗口大小会产生太多事件。我想存储更改并仅在释放鼠标按钮时重新绘制画廊。
问题:我找不到在 Windows 边框上获取新闻或发布事件的方法。
这是可能的还是边框实际上不是窗口的一部分?

最佳答案

如果用户在窗口的边框上单击它,则无法知道用户何时释放鼠标。边框不是窗口的一部分,Tkinter 对它创建的小部件之外的事件知之甚少。

最简单的解决方案可能是为重绘添加延迟。在 <Configure>事件,取消任何挂起的重绘,并安排一个新的重绘在一两秒内发生。

class Application(...):
def __init__(self, ...):
...
self._after_id = None
self.bind("<Configure>", self.schedule_redraw)
...

def schedule_redraw(self, event):
if self._after_id:
self.after_cancel(self._after_id)
self._after_id = self.after(2000, self.redraw)

关于python - 调整窗口大小时 tkinter 得到 <ButtonRelease-1>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40284580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com