PyQt5 – 设置最大窗口尺寸

  • Post category:Python

当我们使用Python编写图形界面的时候,PyQt5是一个非常强大的GUI库。当我们开发GUI应用程序时,有时需要设置GUI窗口的大小。本篇文章将为大家讲解如何使用PyQt5设置GUI窗口的最大尺寸。

设置最大窗口尺寸

PyQt5中可以使用setMaximumSize函数来设置QWidget的最大尺寸。该函数的定义如下:

QWidget.setMaximumSize(QSize)

其中,QSize是一个元组,表示QWidget的最大尺寸。在这里,我们将元组的第一个参数设置为宽度,第二个参数设置为高度。

以下是一个使用setMaximumSize函数的示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Example')
        self.setGeometry(300, 300, 250, 150)
        self.setMaximumSize(400, 300) #设置最大尺寸
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在这个示例中,我们创建了一个QWidget,并使用setMaximumSize函数将其最大尺寸设置为400×300。

示例1

我们可以在上面示例代码中添加一个QPushButton,并添加一个事件处理程序。在按钮单击事件中,我们将窗口的最大尺寸设置为500×500。代码如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Example')
        self.setGeometry(300, 300, 250, 150)

        # 添加按钮
        btn = QPushButton('Set Max Size', self)
        btn.move(50, 50)
        btn.clicked.connect(self.setMaxSize) #添加事件处理程序

        self.show()

    def setMaxSize(self):
        self.setMaximumSize(500, 500) # 设置最大尺寸


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

当我们单击按钮时,窗口的最大尺寸将被设置为500×500。

示例2

我们可以在屏幕中央显示一个QWidget,并将其最大尺寸设置为屏幕大小的一半。代码如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Example')
        self.setGeometry(300, 300, 250, 150)

        # 获取屏幕大小
        screen_size = QApplication.desktop().availableGeometry().size()

        # 创建QWidget
        self.widget = QWidget(self)
        # 将QWidget放置在屏幕中央
        self.widget.setGeometry((screen_size.width() - 200) / 2, (screen_size.height() - 150) / 2, 200, 150)
        # 将QWidget的最大尺寸设置为屏幕大小的一半
        self.widget.setMaximumSize(screen_size.width() / 2, screen_size.height() / 2)

        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在这个示例中,我们 创建了一个QWidget,将其放置在屏幕中央,并将其最大尺寸设置为屏幕大小的一半。

以上就是使用PyQt5设置GUI窗口最大尺寸的完整攻略。