Ví dụ gọi lại sự kiện Python
Thiết lập trình xử lý sự kiện Python trong Pyscript yêu cầu xử lý đặc biệt. Pyodide cung cấp proxy để các sự kiện DOM có thể sử dụng các hàm Python làm hàm gọi lại Show Để tạo proxy, hãy gọi hàm 1 2 3 4 từ pyodide nhập tạo_proxy
# Tạo proxy Python cho chức năng gọi lại function_proxy = create_proxy(myFunction) Hàm Python 1 2 3 def myFunction(). # làm điều gì đó ở đây vượt qua Để gán chức năng proxy cho người nghe 1 2 # Đặt người nghe thành cuộc gọi lại tài liệu. getElementById("nút").addEventListener("click", function_proxy) Ví dụ về PyscriptDưới đây là một ví dụ hoàn chỉnh tăng bộ đếm cho mỗi lần nhấn nút. Bạn có thể xem ví dụ này trên trang web của tôi Ví dụ về ủy quyền nút 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 <. DOCTYPE html> <html>
<đầu> <tiêu đề>Nút Event Proxy</title> <liên kết rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
. nút { màu nền. #4CAF50; /* Xanh lục */ đường viền. không; màu. trắng; phần đệm. 15px 32px; căn chỉnh văn bản. trung tâm; trang trí văn bản. không; hiển thị. chặn nội tuyến; cỡ chữ. 16px; } </đầu>
<nội dung> <p>Cái này example shows how to process a button event</p> <br /> <div id="msg">Loading page, please wait .. . </div>
<br /> <nút lớp="button" type="button" id="button">Click Me</button>
<br /> <br /> <div id="msg">
<py-script> từ js nhập tài liệu từ pyodide nhập create_proxy
đếm = 0
def button_click(sự kiện): toàn cầu số lượng
đếm += 1
tài liệu. getElementById("msg").innerHTML = 'Đã nhấp vào nút ' + str(count)
def thiết lập(). # Trang đã sẵn sàng, xóa "trang đang tải" tài liệu. getElementById("msg").innerHTML = ''
# Tạo một JsProxy cho chức năng gọi lại click_proxy = create_proxy(button_click)
# Đặt người nghe thành cuộc gọi lại e = tài liệu. getElementById("nút") e. addEventListener("click", click_proxy)
thiết lập()
</py-script> </body> </html> Gọi lại dựa trên thời gianCác nhà phát triển Python thường viết mã thủ tục. Khi thiết kế cho trình duyệt, bạn muốn cẩn thận để không khóa giao diện người dùng. Trình duyệt web cung cấp một luồng cho ứng dụng web. Để sử dụng nhiều chủ đề hơn, bạn phải sử dụng Công nhân web. Đôi khi bạn muốn thực hiện các tác vụ theo lịch trình, chẳng hạn như cập nhật báo giá chứng khoán, làm mới nội dung trang, v.v. Các trình duyệt cung cấp API Ví dụ này thiết lập gọi lại sau mỗi 1.000 ms và cập nhật trang trình duyệt bằng bộ đếm. Khi bộ đếm đạt 15, cuộc gọi lại khoảng thời gian bị hủy Ví dụ proxy khoảng thời gian Lưu ý rằng cuộc gọi tương tự đến 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <nội dung> <div id="status">Loading page .. . </div> <br> <div id="msg"></div> <br>
<py-script>
nhập js từ js nhập tài liệu từ pyodide nhập create_proxy
bộ đếm = 0
tài liệu. getElementById("status").innerHTML = 'Python được tải và chạy. '
def myFunc(param): bộ đếm toàn cầu, interval_id
bộ đếm += 1 tài liệu. getElementById("msg").innerHTML = "Counter = " + str(counter)
# Dừng bộ hẹn giờ Khoảng thời gian ở 15 nếu phản đối == 15: tài liệu. getElementById("status").innerHTML = 'Hẹn giờ ngắt quãng đã dừng' js. clearInterval(interval_id)
# Tạo proxy cho cuộc gọi lại proxy = create_proxy(myFunc)
# Bắt đầu hẹn giờ Khoảng thời gian cho mỗi 1.000 ms interval_id = js. setInterval(proxy, 1000, "a parameter");
</py-script>
</body> Tóm lượcGiao diện với HTML và JavaScript khá dễ thực hiện. Pyscript và Pyodide đã tạo ra các thư viện và giao diện rất đẹp để phát triển Python trên trình duyệt Thêm thông tin
tín dụng nhiếp ảnhTôi viết bài miễn phí về công nghệ. Gần đây, tôi đã biết về Pexels. com cung cấp hình ảnh miễn phí. Hình ảnh trong bài viết này do Tina Nord tại Pexels cung cấp John Hanley Tôi thiết kế phần mềm cho các hệ thống cấp doanh nghiệp và trung tâm dữ liệu. Nền tảng của tôi là hơn 30 năm về ảo hóa lưu trữ (SCSI, FC, iSCSI, mảng đĩa, hình ảnh). Hơn 20 năm trong lĩnh vực nhận dạng, bảo mật và pháp y Trong hơn 14 năm qua, tôi đã làm việc trong lĩnh vực đám mây (AWS, Azure, Google, Alibaba, IBM, Oracle) để thiết kế các giải pháp phần mềm lai và đa đám mây. Tôi là một MVP/GDE với một số Python gọi lại sự kiện là gì?Trong Python, lệnh gọi lại chỉ đơn giản là một hàm hoặc một phương thức được truyền cho LocalSolver . Một cuộc gọi lại có hai tham số. đối tượng LocalSolver kích hoạt sự kiện và loại gọi lại. Có thể sử dụng cùng một phương thức hoặc đối tượng gọi lại cho nhiều sự kiện hoặc nhiều phiên bản LocalSolver.
Chức năng gọi lại với ví dụ trong Python là gì?Hàm gọi lại trong Python là gì? . Trong những trường hợp như vậy, hàm được chuyển làm đối số đầu vào cho một hàm khác được gọi là hàm gọi lại trong Python.
Gọi lại giải thích với một ví dụ là gì?"Tôi sẽ gọi lại sau. " Gọi lại là hàm được truyền dưới dạng đối số cho hàm khác . Kỹ thuật này cho phép một chức năng gọi một chức năng khác. Chức năng gọi lại có thể chạy sau khi chức năng khác kết thúc.
Mà đăng ký gọi lại cho một sự kiện?Để gọi lại thực thi khi sự kiện liên quan xảy ra, bạn phải đăng ký với hàm mi_register_callback() . |