31. Event-Driven Programming:

Here are 10 Python code snippets to demonstrate event-driven programming concepts using callbacks, signals, and event-handling patterns:

1. Basic Event-Driven Callback

Copy

def event_handler(event_name):
    print(f"Event triggered: {event_name}")

def trigger_event(callback, event_name):
    callback(event_name)

trigger_event(event_handler, "Button Clicked")

2. Event Dispatcher with Multiple Callbacks

Copy

class EventDispatcher:
    def __init__(self):
        self.events = {}

    def register(self, event_name, callback):
        if event_name not in self.events:
            self.events[event_name] = []
        self.events[event_name].append(callback)

    def dispatch(self, event_name, *args, **kwargs):
        if event_name in self.events:
            for callback in self.events[event_name]:
                callback(*args, **kwargs)

def on_click(event_name):
    print(f"{event_name} event handled!")

dispatcher = EventDispatcher()
dispatcher.register("click", on_click)
dispatcher.dispatch("click", "Button Clicked")

3. Using signal Module for Event Handling

Copy


4. Event Listener with Custom Class

Copy


5. Tkinter GUI Example with Event Binding

Copy


6. Asynchronous Event Loop with Callbacks

Copy


7. Custom Signal with blinker Library

Copy

Install blinker with pip install blinker.


8. PyQt Signal and Slot Example

Copy

Install PyQt5 with pip install pyqt5.


9. Observable Pattern with Callbacks

Copy


10. File System Watcher with watchdog

Copy

Install watchdog with pip install watchdog.


Last updated