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