Get tkinter widget size in pixels Get tkinter widget size in pixels tkinter tkinter

Get tkinter widget size in pixels


Ok, I figured it out. We must call widget.update() first before calling widget.winfo_height().


Normally I do get the correct size when following the above procedures, but the results from this example really puzzles me:from tkinter import *

root=Tk()labelName = Label(root, text='label')entryName = Entry(root, foreground='red')labelName.update_idletasks()entryName.update_idletasks()wl = labelName.winfo_width()we = entryName.winfo_width()print('wl, we: ', we, wl)wl = labelName.winfo_reqwidth()we = entryName.winfo_reqwidth()print('wl, we: ', we, wl)entryName.insert(0, 'entry.................sajdALSKJDASKDjsc')labelName.grid(row=0, column=0)entryName.grid(row=0, column=1)mainloop() 

outputs ???:

wl, we: 1 1
wl, we: 124 31