2

我有一个(大)python tkinter 画布。使用箭头键和(shift-)鼠标滚轮导航是直截了当的。但我也想通过笔记本电脑触控板上的两根手指来完成。

今天我发现这个可以识别水平滚动(Ubuntu 16.04 LTS,Python 2.x):

from Tkinter import *

class MyAnything():
    def __init__(self):
        self.root = Tk()
        self.root.bind('<Button>', self.on_pressed_button)
        self.root.mainloop()

    def on_pressed_button(self, event):
        print(event.num)

if __name__ == '__main__':
    myanything = MyAnything()

无论如何,使用鼠标和触摸板我得到 1 - 5,但也得到 6 和 7(触摸板)。

但这会产生一个错误:“_tkinter.TclError:为非键事件指定键符“6””。

self.root.bind('<Button-6>', self.on_pressed_button)

我觉得这很奇怪。它有效,但感觉不对。

另一方面,如果有人能说出适用于 Windows 的解决方案,那就太好了。直到现在我才知道<MouseWheel>。我需要提供更多信息吗?提前致谢。

4

0 回答 0