2011-10-13 45 views
7

私はカスタムマウスカーソルの作成に興味があるので、特定の線や点のドラッグアンドピックイベント中にマウスが矢印から手(または他の記号)に変わります。これを行う最善の方法は何ですか?私はズーム操作中にマウスカーソルが小さな十字線に変わるので、これが可能であると仮定します。可能であれば、PyQt/PySideバックエンドを使用するソリューションが望ましいでしょう。Matplotlibでカスタムマウスカーソルを作成する方法

答えて

4

必要なものはmpl_canvasです。 tutorialに従ってください。

mpl_canvasを使用すると、トリガされるイベントを設定できます。

fig = matplotlib.figure.Figure() 
cid = fig.canvas.mpl_connect('button_press_event', your_method) 

(イベントの下にリストされている)here下の信号のいくつかの種類があります。

あなたのシグナルがセットアップされると、イベントパラメータとともにyour_methodが呼び出されます。したがって、次のようなことをしてください:

def your_method(event): 
    print('Your x and y mouse positions are ', event.xdata, event.ydata) 

腐食性のクラスと説明のリンクをクリックして、正確に何が起こっているかを確認してください。特定のmpl_canvasイベント。

def your_method(event): 
    #changes cursor to + 
    QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor)) 
:あなたの特定のケースで

は、マウスがyour_methodは次のようになりますどのように見えるかを変更するには

関連する問題