寻求有关如何在 Windows 下删除或禁用可调整大小窗口的最大化按钮的建议。我正在使用适用于 Windows 的 Python 2.7。
背景:我有一个可调整大小的窗口,其最小和最大尺寸通过窗口的 minsize() 和 maxsize() 方法设置。当用户单击最大化按钮时,窗口将移动到显示屏的左上角。这让我的用户感到非常困惑,因此我想阻止这种行为。
我的研究显示了几种禁用最大化按钮的方法 - 但这些技术似乎都不适用于可调整大小的窗口?
通过 ressized( False, False ) 方法防止窗口调整大小。
通过 overrideredirect( True ) 方法删除所有窗口的控件(和边框)。
使用神秘的transient(1)方法(这会在Windows下引发异常)。
绑定(bind)窗口的事件并尝试阻止最大化(更新:当我们的处理程序检测到最大化事件时,Tkinter 已经最大化了窗口。返回“break”或使用 Geometry(size|position) 来调整大小和大小重新定位窗口都被忽略)
我在 Python Win32 API 邮件列表上发布了一个问题,看看我们是否可以使用 Windows API 调用通过我相信(?)Tkinter 公开的 hWnd 句柄来禁用窗口的最大化按钮。
有没有办法可以捕获最大化事件(在 Tkinter 执行之前)?
马尔科姆
最佳答案
一种可能性是将窗口设置为工具窗口,但这也会带来副作用;该窗口将不再出现在任务栏中,并且将有一个细标题栏。它仍然可以在边缘调整大小。
root.attributes("-toolwindow", 1)
有关根属性的更多信息可以在 this guidebook 中找到。 .
关于python - 在 Windows 下删除或禁用可调整大小的 Tkinter 窗口最大化按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333341/