这可能只是一个普通的python-tkinter问题,不一定是matplotlib问题。
因此,我正在开发一套相当大的绘图功能,利用matplotlib“tk agg”后端(agg使用tkinter渲染到tk画布)。我正在使用Matplotlib提供的一些默认缩放功能,特别是默认Matplotlib工具栏上的“缩放到方框”按钮。我正在创建自己的工具栏,方法是将现有的“matplotlib.backends.backend”类划分为子类“tkagg.navigationtoolbar2tkagg”。
这里的问题是我讨厌“缩放到方框”使用的默认图标(tkinter“tcross”)。我已经了解了如何使用不同的tkinter内置光标(例如,这会将光标更改为“加号”而不是“tcross”):
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.backend_bases
import matplotlib.backends.backend_tk_agg
matplotlib.backends.backend_tkagg.cursord[matplotlib.backend_bases.cursors.SELECT_REGION] = "plus"
一般来说,我知道要将当前鼠标光标从工具栏类更改为内置的tkinter光标,我可以调用:
self.window.configure(cursor="cursor_name")
所以我真正想要的是,当用户处于“缩放模式”时,能够使用放大镜图标。我已经有了一个.ppm的放大镜图标,我想使用和所有的东西,但我不能为我的生活弄清楚如何使用我的放大镜作为鼠标光标图标。是否可以在python tkinter中使用自定义图像作为鼠标光标?救命!
平台注释
:这需要在Mac OS X 10.5+、RedHat Enterprise Linux 5和可能的Solaris 10上可用,因此不需要特定于平台的解决方案。