How to get the width of the Tkinter widget?

Tkinter widgets are supposed to be present in the Tkinter application window. All the widgets can be configured and customized by using predefined properties or functions.

To get the width of a widget in a Tkinter application, we can use the winfo_width() method. It returns the width of the widget in pixels which can be printed or used for calculations.

Syntax

widget.winfo_width()

This method returns the current width of the widget as an integer value in pixels.

Example

Here's how to get the width of a Label widget ?

# Import the required libraries
from tkinter import *

# Create an instance of Tkinter Frame
win = Tk()

# Set the geometry
win.geometry("700x350")

# Set the default color of the window
win.config(bg='#aad5df')

# Create a Label to display the text
label = Label(win, text="Hello World!", font=('Helvetica', 18, 'bold'), 
              background='white', foreground='purple1')
label.pack(pady=50)

# Update the window to ensure proper rendering
win.update()

# Return and print the width of label widget
width = label.winfo_width()
print("The width of the label is:", width, "pixels")

win.mainloop()

Output

Running the above code will display a window that contains a Label widget.

Hello World! Tkinter Window (700x350)

When we run the code, it will print the width of the label widget on the console ?

The width of the label is: 148 pixels

Key Points

  • Always call win.update() before getting widget dimensions to ensure proper rendering
  • The winfo_width() method returns the actual rendered width, not the configured width
  • Similar methods include winfo_height(), winfo_x(), and winfo_y() for other dimensions
  • The width is returned in pixels as an integer value

Conclusion

Use winfo_width() to get the actual width of any Tkinter widget in pixels. Remember to call update() first to ensure accurate measurements.

Updated on: 2026-03-25T20:41:29+05:30

11K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements