4

PyQt5系列教程(三十三)窗口大小的设置

 1 year ago
source link: https://xugaoxiang.com/2022/10/06/pyqt5-33-window-size-setting/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

软硬件环境

  • Windows 10 64bit
  • Anaconda3 with python 3.8
  • PyQt5 5.15

我们常见的界面上都有最小化、最大化按钮

4c0ea695f67a242a.png

鼠标点击后,就可以将窗口缩小成图标或最大化到整个电脑屏幕。本篇我们就来看看如何使用 QWidgets 的对应方法来实现窗口的最小化、最大化、恢复初始大小和全屏显示(也就是没有最小化、最大化和关闭)。

使用 designer.exe 创建一个 Main Window,拖入4个按钮,设置垂直布局

d04c81a535904c0a.png

界面设计完成后,将其转换成 python 的代码

pyuic5.bat -o ui.py project.ui

然后新建一个 main.py

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton

from ui import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        # 绑定对应按钮的点击信号和槽方法
        self.pushButton_min.clicked.connect(self.do_min)
        self.pushButton_max.clicked.connect(self.do_max)
        self.pushButton_normal.clicked.connect(self.do_normal)
        self.pushButton_fullscreen.clicked.connect(self.do_fullscreen)

    def do_min(self):
        self.showMinimized()

    def do_max(self):
        self.showMaximized()

    def do_normal(self):
        self.showNormal()

    def do_fullscreen(self):
        self.showFullScreen()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    windows = MainWindow()
    windows.show()
    sys.exit(app.exec_())

最后执行的效果是这样的

e9ca420770dcf1e1.gif

如果想要知道当前窗口的大小状态,有如下方法可以使用

  • isMinimized: 是否是最小化
  • isMaximized: 是否是最大化
  • isFullScreen: 是否是全屏
  • isActiveWindow: 是否是活动窗口

https://github.com/xugaoxiang/learningPyQt5

PyQt5系列教程

更多PyQt5教程,请移步

https://xugaoxiang.com/category/python/pyqt5/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK