2011-10-13 37 views
7

Tôi quan tâm đến việc tạo con trỏ chuột tùy chỉnh, để kéo và chọn sự kiện trên một số dòng hoặc điểm nhất định, chuột sẽ chuyển từ mũi tên sang tay (hoặc biểu tượng khác). Phương pháp tốt nhất để làm điều này là gì. Tôi cho rằng điều này là có thể vì con trỏ chuột thay đổi thành một sợi ngang nhỏ trong các hoạt động thu phóng. Nếu có thể, một giải pháp sử dụng phần phụ trợ PyQt/PySide sẽ thích hợp hơn.Cách tạo con trỏ chuột tùy chỉnh trong Matplotlib

Trả lời

4

Những gì bạn cần là mpl_canvas. Thực hiện theo điều này tutorial để thiết lập.

Với mpl_canvas, bạn có thể thiết lập các sự kiện được kích hoạt.

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

Có một số loại tín hiệu dưới here (được liệt kê trong Sự kiện).

Khi thiết lập tín hiệu của bạn, your_method được gọi, với thông số sự kiện. Vì vậy, hãy làm điều gì đó như:

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

Nhấp vào liên kết Lớp học và mô tả để xem chính xác sự kiện nào. cho một sự kiện mpl_canvas cụ thể.

Trong trường hợp cụ thể của bạn, thay đổi cách con chuột trông your_method nên giống như thế:

def your_method(event): 
    #changes cursor to + 
    QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor)) 
Các vấn đề liên quan