7
我有兴趣创建自定义鼠标光标,以便在拖动和选取特定线条或点上的事件时,鼠标从箭头更改为手形(或其他符号)。这样做的最好方法是什么?我认为这是可能的,因为在缩放操作过程中,鼠标光标变成一个小十字。如果可能的话,使用PyQt/PySide后端的解决方案将是更可取的。如何在Matplotlib中创建自定义鼠标光标
我有兴趣创建自定义鼠标光标,以便在拖动和选取特定线条或点上的事件时,鼠标从箭头更改为手形(或其他符号)。这样做的最好方法是什么?我认为这是可能的,因为在缩放操作过程中,鼠标光标变成一个小十字。如果可能的话,使用PyQt/PySide后端的解决方案将是更可取的。如何在Matplotlib中创建自定义鼠标光标
你需要的是mpl_canvas。按照这个tutorial设置一个。
使用mpl_canvas,可以设置触发的事件。
fig = matplotlib.figure.Figure()
cid = fig.canvas.mpl_connect('button_press_event', your_method)
here(在Events下面列出)有几种信号。
随着您的信号设置,your_method被调用,带有一个事件参数。因此,请执行以下操作:
def your_method(event):
print('Your x and y mouse positions are ', event.xdata, event.ydata)
单击corrosponding类和说明链接查看事件中究竟发生了什么。针对特定的mpl_canvas事件。
在您的具体情况,来改变鼠标的外观your_method应该是这个样子:
def your_method(event):
#changes cursor to +
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))