老何
回答者
回答于 2026-10-20
在Python tkinter中隐藏或禁用窗口标题栏上的最大化按钮,主要有以下几种方法:
方法一:使用 resizable() 禁用窗口尺寸调整
调用 root.resizable(False, False) 可禁止用户调整窗口的宽度和高度。在Windows等操作系统上,禁用尺寸调整后,最大化按钮会自动变为灰色不可用状态。
import tkinter as tk
root = tk.Tk()
root.geometry("400x300")
root.resizable(False, False)
root.mainloop()
方法二:使用 toolwindow 属性(仅限Windows)
通过 attributes 方法将窗口设置为工具窗口样式,可以移除最小化和最大化按钮,仅保留关闭按钮。
import tkinter as tk
root = tk.Tk()
root.attributes('-toolwindow', True)
root.mainloop()
方法三:去除整个标题栏
若不需要任何标题栏控件,可使用 overrideredirect(True) 移除整个标题栏,但此时需要自行实现窗口拖动和关闭逻辑。
import tkinter as tk
root = tk.Tk()
root.overrideredirect(True)
root.mainloop()
适用条件与注意事项:
resizable(False, False)是跨平台兼容性最好的方式,适用于所有主流操作系统。-toolwindow属性主要适用于Windows系统,在Linux或macOS上可能无效或表现不同。overrideredirect(True)会同时移除关闭按钮,需谨慎使用。
常见误区: tkinter原生不支持单独仅隐藏最大化按钮而保留最小化按钮且允许自由调整窗口大小。若需精确控制单个标题栏按钮的显示状态,通常需要借助操作系统的底层API(如Windows下通过ctypes调用Win32 API修改窗口样式)。