Nhận tọa độ nhấp chuột python
Để tạo con trỏ chuột tùy chỉnh trong matplotlib, chúng ta có thể thực hiện các bước sau Show bước
Thí dụimport numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True def mouse_event(event): print('x: {} and y: {}'.format(event.xdata, event.ydata)) fig = plt.figure() cid = fig.canvas.mpl_connect('button_press_event', mouse_event) x = np.linspace(-10, 10, 100) y = np.sin(x) plt.plot(x, y) plt.show() đầu raNó sẽ tạo ra đầu ra sau - Bây giờ, nhấp vào các điểm khác nhau trên biểu đồ và nó sẽ hiển thị tọa độ của chúng trên bảng điều khiển x: -3.099305446290094 and y: -0.013811108549791173 x: -0.2865652183685867 and y: -0.2067543563498595 x: -3.0280968329249927 and y: -0.1844916739113902 x: -5.7696284474814 and y: 0.4240216460734405 x: -3.9182044999887626 and y: 0.6837529411889172 Trước ArcGIS 10. 1, Không thể sử dụng Python để tương tác với giao diện ArcGIS. Giờ đây, Phần bổ trợ Python cung cấp cho người dùng khả năng tạo các công cụ viết bằng Python phản hồi lại một cú nhấp chuột Các hướng dẫn được cung cấp mô tả cách thiết lập mã Bổ trợ Python để lấy tọa độ bằng một cú nhấp chuột Chúng tôi sẽ sử dụng mô-đun pynput để nghe các sự kiện của chuột. Để cài đặt mô-đun này, hãy thực thi 0 trong cmd. Xem đầu ra để đảm bảo không có lỗi nào xảy ra; Để kiểm tra kỹ xem nó đã được cài đặt thành công hay chưa, hãy mở IDLE và thực hiện lệnh 1; Xây dựng kịch bảnTạo một tệp python mới và lưu nó với một. phần mở rộng tệp py. Trước tiên, bạn sẽ muốn nhập Trình nghe từ pynput. con chuột
Thiết lập trình nghe bằng cách tạo một thể hiện trong câu lệnh 2 và sử dụng phương thức 3 của nó để nối nó với luồng chính
Tạo ba phương thức; ________số 8_______ Liên kết các phương thức này với phiên bản trình nghe với tên hàm là đối số; . Bây giờ khi một hành động xảy ra, một trong những phương thức này sẽ được chạy
Để đảm bảo chúng đang chạy, hãy thêm một số câu lệnh in vào từng phương thức. Lưu và chạy tập lệnh. Di chuột xung quanh một chút, bạn sẽ thấy đầu ra như bên dưới
Sử dụng các câu lệnh in này và các tham số được cung cấp, chúng tôi có thể cung cấp thêm thông tin khi in. Chạy lại cái này để đảm bảo nó hoạt động bình thường (ví dụ đầu ra bên dưới)
Nếu bạn muốn tập lệnh này được chạy trong nền. Nhấp vào Tệp -> Lưu dưới dạng và lưu nó với một. phần mở rộng tệp pyw. Bây giờ khi nó chạy bên ngoài IDLE sẽ không có cửa sổ giao diện điều khiển và nó sẽ không giống như nó đang chạy. Nhưng để đảm bảo rằng bảng điều khiển không xuất hiện, trước tiên chúng ta cần xóa các câu lệnh in Nhập nhật ký và thiết lập cấu hình cơ bản như tôi có bên dưới. Sau đó, thay đổi tất cả các câu lệnh in thành ghi nhật ký. thông tin
Bây giờ khi tập lệnh được chạy, không có gì được in ra bàn điều khiển. Điều này là do tất cả được lưu vào tệp được khai báo trong cấu hình cơ bản Lưu và đóng IDLE. Mở tệp có tên mouse_log. txt bên cạnh tập lệnh python của bạn;
chủ đề người ngheXin lưu ý nhanh, lớp Listener là một luồng, nghĩa là ngay khi nó được nối với luồng chính, sẽ không có mã nào được thực thi sau 3 cho đến khi Listener dừng lạiNhư đã nêu, chúng ta có thể gọi 5 ở bất kỳ đâu trong tập lệnh để dừng chuỗi hoặc trả về Sai từ cuộc gọi lại để dừng người nghe. Như được hiển thị trong video của tôi, chúng ta cũng có thể gọi 6 theo một trong các định nghĩa do thực tế là người nghe hiện đang ở trong phạm vi và là một thể hiện của os ListenerKịch bản cuối cùng
Các vấn đề và câu hỏi thường gặpModuleNotFoundError/ImportError. Không có mô-đun nào có tên 'pynput'Bạn đã cài đặt pynput chưa? . Nếu bạn có nhiều phiên bản Python, hãy đảm bảo rằng bạn đang cài đặt pynput trên cùng phiên bản với phiên bản bạn đang chạy tập lệnh Tôi gặp lỗi SyntaxErrorLỗi cú pháp là do bạn gây ra và tôi không thể cung cấp gì nhiều để sửa nó ngoài việc yêu cầu bạn đọc lỗi. Họ luôn cho biết lỗi ở đâu trong đầu ra bằng dấu ^. Nói chung, những người gặp phải sự cố này có cách thụt đầu dòng không chính xác, đặt dấu ngoặc ở sai vị trí hoặc viết sai chính tả. Bạn có thể đọc về SyntaxError trên tài liệu của Python |