Home > Software design >  Prevent tkinter window from minimizing but able to maximise and close window
Prevent tkinter window from minimizing but able to maximise and close window

Time:11-22

I want to prevent my tkinter window from minimizing but able to maximise and close the window.

Something like this

enter image description here

How do I do this?

CodePudding user response:

If your platform is Windows (looks like it is based on the image), you can call Windows functions via pywin32 module to achieve the goal:

import tkinter as tk
import win32gui
import win32con

root = tk.Tk()
root.title('MinimizeTest')
root.geometry('300x200')

def disable_minbox():
    # get window handle
    win_id = root.winfo_id()
    hwnd = win32gui.GetParent(win_id) 
    # get the current window style of root window
    style = win32gui.GetWindowLong(hwnd, win32con.GWL_STYLE)
    # mask out minimize button
    style &= ~win32con.WS_MINIMIZEBOX
    # update the window style of root window
    win32gui.SetWindowLong(hwnd, win32con.GWL_STYLE, style)

# need to do it when root window is displayed
root.after(1, disable_minbox)
root.mainloop()

Note that you need to install pywin32 using pip:

pip install pywin32
  • Related