我将如何在 Tkinter 中安装触摸屏手势处理程序?
我需要做一些特别简单的事情:每当检测到“展开”手势时增加字体大小。
如果 Tcl/Tk 没有专门实现它,这甚至可以在 Tkinter 中完成吗?我想要么窗口管理器向客户端窗口发送一些我可以监听和处理的事件,要么客户端必须向窗口管理器注册一个特定类型事件的处理程序,但如果无法注册这些处理程序来自 Tkinter,如果 Tcl 不为它们提供接口(interface),我看不出有什么办法可以做到这一点。
最佳答案
Tk 目前不支持复杂的触摸事件,并且 MSDN 非常对它们进入事件循环时的实际外观非常了解。 (这似乎不是您应该查看的东西。)因为 Tk 在非常低的级别拦截该数据,所以集成起来会很棘手。
我不能再追下去了。我可以看到一些代码是如何工作的,但是 MSDN 函数示例与 Tk 所做的完全不匹配。两者之间存在整个框架的不匹配。 (我也没有支持这些功能的设备;我的触摸设备不运行 Windows,我的 Windows 设备也不支持触摸输入。)
我们需要的是具有触摸输入 Win 8 系统的人来运行已被黑客入侵的 Tk 应用程序(win/tkWinX.c
中的Tk_TranslateWinEvent()
)将是正确的位置)打印出无法识别的事件。然后,我们可以看到带有触摸事件的实际情况(好吧,通过主消息泵);我们可能希望它们与 ManipulationStarted
中涉及的事物相对应, ManipulationUpdated
和 ManipulationCompleted
事件,但希望并不总是足够的。 (我们可能还希望这些事件不会通过另一条路线散布。)
关于python - 在 Tkinter 中处理触摸屏手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373458/