How can I identify when a Button is released in Tkinter?

In Tkinter, events are triggered by user interactions like button clicks or key presses. To detect when a mouse button is released, you can use the <ButtonRelease> event binding. This is useful for applications that need to respond differently to button press and release actions.

Button Release Event Syntax

The bind() connects events to callback functions −

widget.bind("<ButtonRelease-1>", callback_function)

Where <ButtonRelease-1> detects left mouse button release. You can use <ButtonRelease-2> for middle button and <ButtonRelease-3> for right button.

Example

Here's a complete example that responds to both button press and release events −

# Import the required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")
win.title("Button Release Detection")

# Define a function on mouse button clicked
def on_click(event):
    label["text"] = "Mouse Button Pressed!"
    label.config(bg="lightblue")

def on_release(event):
    label["text"] = "Mouse Button Released!"
    label.config(bg="lightgreen")

# Create a Label widget
label = Label(win, text="Click anywhere in the window...", 
              font=('Calibri', 18, 'bold'), 
              bg="white", 
              relief="raised", 
              bd=2)
label.pack(pady=60)

# Bind button press and release events
win.bind("<ButtonPress-1>", on_click)
win.bind("<ButtonRelease-1>", on_release)

win.mainloop()

How It Works

The application works as follows −

  • <ButtonPress-1> − Triggered when left mouse button is pressed down
  • <ButtonRelease-1> − Triggered when left mouse button is released
  • Each event calls a different callback function that updates the label text and background color
  • The event parameter contains information about the mouse event

Common Button Release Events

Event Mouse Button Description
<ButtonRelease-1> Left Most common for UI interactions
<ButtonRelease-2> Middle Often used for scrolling or special actions
<ButtonRelease-3> Right Typically for context menus

Practical Use Cases

Button release events are useful for −

  • Drag and drop operations − Start dragging on press, complete on release
  • Drawing applications − Begin drawing on press, finish stroke on release
  • Button highlighting − Visual feedback during button interaction
  • Selection tools − Select area between press and release

Conclusion

Use <ButtonRelease-1> with bind() to detect when the left mouse button is released. This event is essential for creating interactive applications that respond to complete click gestures, not just button presses.

Updated on: 2026-03-26T00:13:37+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements