Geometry of Tkinter window

Basics of Python Tkinter

Tkinter window geometry to manage height width and zoom out using state and resizable() option

Our parent window is referred as my_w in all our examples below.
my_w = tk.Tk()

Resize the window

resizable window with disabled values There is a button at the top bar for the user to resize the parent window. By holding and dragging the edges we can resize the window.

We can prevent this by using resizable() option. By default width and height values are 1 ( True ).

my_w.resizable(width=0,height=0) # size change Not allowed 
We can only allow horizontally resizing the window.


By managing the state method we can maximize the window to full screen. Values for this option are normal ( default value ) , iconic, withdrawn, or zoomed

Zooming the parent window

We can increase or decrease the width , height from inside the window by managing the geometry() option. We can place buttons in our window to zoom in or zoom out the parent window.
We used the click event of button to call a function my_resize() and inside it change the width and height of parent window.

minsize() and maxsize()

We can restrict the height and width of the window by using minsize() and maxsize(). These are the end limits for our height width for expansion and contraction of the window.
my_w.minsize(280, 180) # (minimum ) Width  , ( minimum ) height
my_w.maxsize(320,220)  # (maximum ) width , ( maximum) height
We have to update the data to integer by using int() while using any other type of variable.
my_w.minsize(int(width/3), height)
In the script below some lines are commented to remove the restrictions. You can include them.

Here is the full code.
import tkinter as tk
my_w = tk.Tk() # parent window 
my_w.geometry(v_dim)  # Size of the window 
#my_w.minsize(280, 180) # (minimum ) Width  , ( minimum ) height
#my_w.maxsize(320,220)  # (maximum ) width , ( maximum) height
my_w.title("")  # Adding a title

def my_resize(condition):
    global width , height 
    my_w.geometry(d) # update the new width and height
b1=tk.Button(my_w,text='zoom ++ ',command=lambda:my_resize('increase'))
b2=tk.Button(my_w,text='zoom -- ',command=lambda:my_resize('decrease'))
b3=tk.Button(my_w,text='Full Screen',command=lambda:my_w.state('zoomed'))

my_w.mainloop()  # Keep the window open
Zoom in & out Text

Grid Layout place layout Frame rowconfigure() & columnconfigure()
Subscribe to our YouTube Channel here


* indicates required
Subscribe to plus2net

    Post your comments , suggestion , error , requirements etc here

    Python Video Tutorials
    Python SQLite Video Tutorials
    Python MySQL Video Tutorials
    Python Tkinter Video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2022 All rights reserved worldwide Privacy Policy Disclaimer