为什么无法使用苹果魔术鼠标的垂直和水平滑动/滚动来响应Python tkinter画布? 画布的滚动条正常工作(即当我在鼠标上水平滑动/滚动但不是垂直滑动/滚动时,水平滚动条有效;而当我垂直滑动/滚动时,垂直滚动条移动但不对任何水平滑动/滚动运动做出反应),但画布不会对鼠标的任何滑动/滚动做出反应。
我对Python和tkinter都是一个完全的新手,但我觉得这应该非常简单和明显(或者至少可行)。然而,我已经找了很久,还是找不到答案(尽管我可能使用了错误的术语进行搜索)。
如何让画布对来自Magic Mouse的滚动/滑动输入做出反应,就像滚动条已经做到的那样?
编辑:我正在使用Python 3.4、Tkinter 8.5.18、Mac OS X 10.9.5和一个Apple Magic Mouse。
以下是我的示例/测试代码:
from tkinter import *
import tkinter.ttk as ttk
from PIL import Image, ImageTk
root = Tk()
h = Scrollbar(root, orient=HORIZONTAL)
v = Scrollbar(root, orient=VERTICAL)
canvas = Canvas(root, scrollregion=(0, 0, 1000, 1000), yscrollcommand=v.set, xscrollcommand=h.set)
h['command'] = canvas.xview
v['command'] = canvas.yview
theImage = ImageTk.PhotoImage(Image.open('example.png')) #Assume a very large image
canvas.create_image(0,0,image=theImage, anchor='nw')
canvas.grid(column=0, row=0, sticky=(N,W,E,S))
h.grid(column=0, row=1, sticky=(W,E))
v.grid(column=1, row=0, sticky=(N,S))
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
root.mainloop()
我对Python和tkinter都是一个完全的新手,但我觉得这应该非常简单和明显(或者至少可行)。然而,我已经找了很久,还是找不到答案(尽管我可能使用了错误的术语进行搜索)。
如何让画布对来自Magic Mouse的滚动/滑动输入做出反应,就像滚动条已经做到的那样?
编辑:我正在使用Python 3.4、Tkinter 8.5.18、Mac OS X 10.9.5和一个Apple Magic Mouse。