处理Tkinter中的触摸屏手势

时间:2014-08-18 23:13:34

标签: python tkinter tcl tk touchscreen

我如何在Tkinter中安装触摸屏手势处理程序?

我需要一些特别简单的事情:每当“扩展”时增加字体大小。检测到手势。

如果Tcl / Tk没有具体实现,那么在Tkinter中甚至可以做到这一点吗?我想窗口管理器向客户端窗口发送一些我可以监听和处理的事件,或者客户端必须向窗口管理器注册一个特定类型事件的处理程序,但是如果它不可能注册这些来自Tkinter的处理程序,如果Tcl没有为他们提供界面,我就不会看到我能做到这一点的方式。

1 个答案:

答案 0 :(得分:2)

目前Tk并不支持复杂的触摸事件,并且当MSDN进入事件循环时,它们实际上看起来非常非常。 (看起来,这不是你应该看的东西。)因为Tk以非常低的水平拦截这些数据,所以整合起来会很棘手。

我无法进一步追逐这一点。我可以看到一些代码是如何工作的,但是MSDN上的样本功能与Tk所做的完全不匹配。这两者之间存在着一个完整的框架,这是一个不匹配的框架。 (我也没有能够支持这些功能的设备;我的触摸设备不能运行Windows,我的Windows设备也不支持触摸输入。)

我们需要的是一个拥有触摸输入Win 8系统的人来运行已被黑客入侵的Tk应用程序(Tk_TranslateWinEvent()win/tkWinX.c将是正确的位置)以打印出无法识别的事件。然后我们可以通过触摸事件看到实际通过导线(通过主消息泵)的内容;我们可能希望它们与ManipulationStartedManipulationUpdatedManipulationCompleted事件中涉及的内容相对应,但希望并不总是足够的。 (我们也可能希望这些事件不会通过另一条路线进行。)