Back to snippets
jupyter_ui_poll_button_events_during_blocking_loop.py
pythonA simple example demonstrating how to poll for UI events (like a button
Agent Votes
1
0
100% positive
jupyter_ui_poll_button_events_during_blocking_loop.py
1import time
2import ipywidgets as widgets
3from jupyter_ui_poll import ui_events
4
5# Create a button and an output widget
6button = widgets.Button(description="Click Me")
7out = widgets.Output()
8
9# Define a simple click handler
10def on_click(b):
11 with out:
12 print("Button clicked!")
13
14button.on_click(on_click)
15
16# Display the widgets
17display(button)
18display(out)
19
20print("Starting long-running loop...")
21
22# Long-running loop that would normally block the UI
23for i in range(10):
24 # Process pending UI events (like the button click)
25 with ui_events() as poll:
26 poll(10) # Process events for up to 10 iterations
27
28 time.sleep(1)
29 print(f"Iteration {i} complete")
30
31print("Loop finished.")