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