我想知道如何禁用pyqt4中的窗口最大化按钮。我目前正在使用 QWidget.setFixedSize (self, QSize) 来防止用户窗口调整大小,但是最大化按钮仍然启用并且按下时会导致应用程序移动到屏幕的左上角。我基本上想复制 Windows 计算器应用程序的行为,其中最大化图标显示为灰色。有谁知道如何用 PyQt4 实现这个?
最佳答案
还没有使用过它,但研究似乎指出弄乱了窗口标志。
QWidget有一个名为 setWindowFlags
的方法。
Here是 Qt.WindowFlags 类的文档。
Here是所有标志的引用。寻找 Qt.WindowMaximizeButtonHint
一般来说,您似乎需要找到一种方法来启用 Qt.CustomizeWindowHint
标志并禁用 Qt.WindowMaximizeButtonHint
标志。无论哪种方式,除了 setFixedSize
之外,您可能还需要它,所以这是一个好的开始。
编辑:
有点像
win.setWindowFlags(win.windowFlags() | QtCore.Qt.CustomizeWindowHint)
win.setWindowFlags(win.windowFlags() & ~QtCore.Qt.WindowMaximizeButtonHint)
假设你的导入是这样的
from PyQt4 import QtCore
我希望这会打开 CustomizeWindowHint
标志并关闭 WindowMaximizeButtonHint
标志。让我知道这是否有效。
编辑:
正如 OP 所发现的,他想要的结果所需的唯一调用:
win.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)
但要小心,因为这也会删除关闭按钮并可能与其他窗口标志混淆。
关于python - 如何使用 PyQt4 禁用窗口最大化图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600081/