2011-10-13 30 views
7
'da özel bir fare imleci nasıl oluşturulur

Özel bir fare imlecini oluşturmakla ilgileniyorum, böylece belirli çizgilerdeki veya noktalardaki sürükleme ve seçme olayları sırasında fare bir okdan bir ele (veya başka bir simgeye) dönüşür. Bunu yapmanın en iyi yöntemi nedir? Yakınlaştırma işlemleri sırasında fare imlecinin küçük bir çapraz saça dönüşmesi nedeniyle bunun mümkün olduğunu farz ediyorum. Mümkünse, PyQt/PySide arka ucunu kullanan bir çözüm tercih edilebilir.Matplotlib

cevap

4

İhtiyacınız olan şey mpl_canvas. Bir tane ayarlamak için bu tutorial izleyin.

Bir mpl_canvas ile, tetiklenen olayları ayarlayabilirsiniz.

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

(Olaylar altında listelenen) here altında sinyallerin birkaç çeşit vardır.

Sinyal ayarlarınız ile, bir olay parametresiyle, sizin isminiz aranır. Tam olarak olay ne olduğunu görmek için corrosponding Sınıf ve açıklama linklere

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

tıklayın: Yani böyle bir şey yapmak. Belirli bir mpl_canvas Olay için.

def your_method(event): 
    #changes cursor to + 
    QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor)) 
: Belirli bir durumda

, fare your_method gibi görünmelidir görünümünü değiştirmek için