说明网
电脑网络 1 个回答

在Python tkinter中如何隐藏窗口标题栏上的最大化按钮?

醉鞭名马 提问者

发布于 2026-10-20

问题补充

在Python tkinter中,可通过设置窗口属性或禁用调整大小功能来隐藏或禁用最大化按钮。常用方法包括调用resizable(False, False)禁用尺寸调整使最大化按钮失效,或使用attributes('-toolwindow', True)移除标准标题栏控件。

1 个回答

按发布时间排序
老何 回答者

回答于 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修改窗口样式)。

内容由网友提供,仅供参考。