我有一个(大)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>
。我需要提供更多信息吗?提前致谢。