📜  pyqt 禁用最大化按钮 - Python (1)

📅  最后修改于: 2023-12-03 15:03:55.856000             🧑  作者: Mango

PyQt 禁用最大化按钮

在 PyQt 中,我们可以很方便地创建 GUI 应用程序,并添加窗口、按钮、标签等等元素。默认情况下,窗口右上角有三个按钮,其中一个是最大化/还原按钮。有时候,我们希望禁用这个按钮,防止用户最大化窗口。下面是一种方法来实现这个目标。

实现步骤
  • 创建 main.py 文件并添加以下代码:
from PyQt5 import QtWidgets

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        # 禁用最大化按钮
        self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowMaximizeButtonHint)

        # 添加一个按钮
        self.button = QtWidgets.QPushButton("Click me!")
        self.setCentralWidget(self.button)

app = QtWidgets.QApplication([])
window = MainWindow()
window.show()
app.exec_()
  • 运行程序,可以看到窗口上没有最大化按钮。
代码解析
  • self.setWindowFlags() 方法可以用来设置和修改窗口的标志,其中 windowFlags() 方法可以获取当前窗口的标志。我们使用 & 操作符和 ~ 操作符来禁用最大化按钮。
  • QtWidgets.QMainWindow 是 PyQt 中的主窗口类,我们通过继承这个类来创建自己的窗口。
  • self.setCentralWidget() 方法可以将控件添加到窗口的中心部分,这里我们添加了一个简单的按钮。
总结

禁用窗口最大化按钮也是一个很简单的操作,只需要在创建窗口之后设置标志即可。这对于一些特殊的应用程序来说可能很有用,比如控制用户不能最大化窗口以保持 UI 的稳定性。