So to prove the theory, try a button and see if clicking (i.e. after mainloop) will provide the measurements
import tkinter as tk import re as regexp class test_window(): def __init__(self, parent, *args, **kwargs): self.parent = parent self.parent.geometry("400x500") ## self.center_points() tk.Button(self.parent, text="Get dimensions", command=self.center_points).grid() def center_points(self): #We have the height and width of the window, we know we need 10 Hexes vertical and 8 he ## self.parent.update_idletasks() ## print(self.geo) print(self.parent.geometry()) print(self.parent.winfo_reqheight()) print(self.parent.winfo_reqwidth()) if __name__ == "__main__": root = tk.Tk() main = test_window(root) root.mainloop()