Trigger Functions and Events –
Tkinter Library
Advanced Programming Practice
Presented by: [Your
Name/Institution]
Introduction to Tkinter
• Tkinter is Python’s standard GUI (Graphical
User Interface) package.
• Allows the creation of windows, buttons,
labels, text fields, etc.
• Event-driven programming model.
What are Events?
• An event is an action recognized by software,
such as mouse click, keypress, etc.
• Common types of events:
• - Mouse events
• - Keyboard events
• - Window events (resize, close)
Trigger Functions (Callback
Functions)
• A function that is automatically invoked when
an event occurs.
• Defined by the programmer and linked to a
widget.
• Syntax:
[Link]("<event>", function)
Binding Events to Widgets
• Example:
def on_click(event):
print("Button clicked!")
button = Button(root, text="Click Me")
[Link]("<Button-1>", on_click)
• "<Button-1>": Left mouse click
Common Event Types
• "<Button-1>" – Left mouse click
• "<Button-2>" – Middle mouse click
• "<Button-3>" – Right mouse click
• "<Key>" – Any key press
• "<Return>" – Enter key
• "<Motion>" – Mouse movement
Using the command Parameter
• Used for simple triggers like button click
• Example:
def say_hello():
print("Hello!")
btn = Button(root, text="Say Hello",
command=say_hello)
Event Object Attributes
• When a trigger function is called, it receives
an event object with:
• - [Link] – widget that triggered the
event
• - event.x, event.y – mouse pointer coordinates
• - [Link] – character pressed
Keyboard Event Handling
• Example:
def key_pressed(event):
print("Key pressed:", [Link])
[Link]("<Key>", key_pressed)
Mouse Event Handling
• Example:
def mouse_clicked(event):
print(f"Mouse at ({event.x}, {event.y})")
[Link]("<Button-1>", mouse_clicked)
Combining Widgets and Events
• Each widget can handle multiple events.
• Example:
entry = Entry(root)
[Link]("<Return>", submit_function)
Example Application
• Mini App: Pressing a key updates a label
def update_label(event):
[Link](text=f"Pressed: {[Link]}")
[Link]("<Key>", update_label)
Best Practices
• Keep trigger functions short and focused.
• Use .bind() for flexibility; use command for
simplicity.
• Document the functions for clarity.
Conclusion
• Tkinter’s event handling allows responsive GUI
development.
• Trigger functions let you control widget
behavior dynamically.
• Practice combining multiple events and
triggers for rich applications.
References
• Python Tkinter Documentation –
[Link]
• TutorialsPoint, GeeksforGeeks, RealPython