python - 如何使用 PyQt4 禁用窗口最大化图标?

标签 python resize window pyqt pyqt4

我想知道如何禁用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/

相关文章:

python - 计算json数据每小时的平均值

java - 在 jLabel 上调整图像大小

javascript - Chrome 调整大小事件和 getComputedStyle

wpf - 在主窗口的边界处剪辑 wpf 弹出窗口

java - 如何为 QuickBooks 中的客户列表导入和导出自定义字段

C - Xlib - 使用 XGetWindowProperty 作为窗口标题的 BadWindow 错误

python - App Engine 单元测试 : ImportError: Start directory is not importable

python - 如何通过日志记录同时记录到文件和控制台?

python - 调用参数数量未知的函数 Python

javascript - 在容器调整大小时调整传单 map 的大小