Tôi đang làm việc trên dự án Python 3.3 sử dụng Tkinter làm trình quản lý cửa sổ. Tôi có các sự kiện bánh xe cuộn chuột được thiết lập cho canvas. Các di chuyển các công trình trong Windows 7, 8, và Ubuntu, nhưng khi di chuyển với một Mouse Magic trong Mac OS X Mountain Lion, chương trình bị treo với teh lỗi sau trong vòng lặp chính Tk:Cuộn quán tính trong Mac OS X bằng Tkinter và Python
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
Mã của tôi là:
self._hscroll.configure(command=self._canvas.xview)
self._vscroll.configure(command=self._canvas.yview)
self._canvas.bind('<MouseWheel>', lambda event: self.rollWheel(event))
nơi hscroll và vscroll là các đối tượng thanh cuộn trong biểu mẫu.
Nếu tôi sử dụng chuột thông thường, sự cố không xảy ra. Nó cũng xảy ra khi tôi thử cuộn bằng bàn di chuột của mình (với tính năng cuộn quán tính được bật)
Tôi có phải cập nhật Tk để chức năng này hoạt động không?
Điều này dường như không giải quyết được sự cố. Có thể lỗi đã được giới thiệu lại? – dougalg
Bạn đã cài đặt ActiveTcl 8.5.15 chưa? –
Tôi vừa giải quyết được vấn đề. Vấn đề là với phiên bản Python tôi có từ Homebrew. Sau khi cài đặt bản phát hành python3 chính thức, nó hoạt động tốt. – dougalg