小编nep*_*798的帖子

使用Tkinter和Python在Mac OS X中进行惯性滚动

我正在开发一个使用Tkinter作为Window管理器的Python 3.3项目.我为画布设置了鼠标滚轮事件.滚动工作在Windows 7,8和Ubuntu中,但在Mac OS X Mountain Lion中使用Magic Mouse滚动时,程序会在Tk主循环中出现以下错误:

File "/Users/xxxx/Documents/Repositories/tycoon/agentsim.py", line 291, in start
    self._root.mainloop()
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 1038, in mainloop
self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 0: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

我的代码是:

self._hscroll.configure( command=self._canvas.xview )
self._vscroll.configure( command=self._canvas.yview )
self._canvas.bind('<MouseWheel>', lambda event: self.rollWheel(event))
Run Code Online (Sandbox Code Playgroud)

其中hscroll和vscroll是表单中的滚动条对象.

如果我使用普通鼠标,则不会出现问题.当我尝试使用触控板滚动(惯性滚动打开)时也会发生这种情况

我是否必须更新Tk才能使此功能正常工作,或者它是否只是一般性地破坏了?

python tk-toolkit tkinter

12
推荐指数
2
解决办法
2705
查看次数

标签 统计

python ×1

tk-toolkit ×1

tkinter ×1