Шаг 37.
Библиотека PyQt5.
Управление окном приложения. Разворачивание и сворачивание окна

    На этом шаге мы рассмотрим программную реализацию указанных операций.

    В заголовке окна расположены кнопки Свернуть и Развернуть, с помощью которых можно свернуть окно в значок на панели задач или развернуть его на весь экран. Выполнить подобные действия из программы позволяют следующие методы класса QWidget:

    Проверить текущий статус окна позволяют следующие методы:

Пример проверки использования полноэкранного режима:
  if window.windowState() & QtCore.Qt.WindowFullScreen: 
      print("Полноэкранный режим")

    Приведем пример разворачивания и сворачивания окна.

#  -*- coding:   utf-8  -*-
from PyQt5 import QtCore, QtWidgets
class MyWindow(QtWidgets.QWidget):
    def __init__(self, parent = None):
        QtWidgets.QWidget.__init__(self, parent)
        self.btnMin = QtWidgets.QPushButton("Свернуть")
        self.btnMax = QtWidgets.QPushButton("Развернуть")
        self.btnFull = QtWidgets.QPushButton("Полный экран")
        self.btnNormal = QtWidgets.QPushButton("Нормальный размер")
        vbox = QtWidgets.QVBoxLayout()
        vbox.addWidget(self.btnMin)
        vbox.addWidget(self.btnMax)
        vbox.addWidget(self.btnFull)
        vbox.addWidget(self.btnNormal)
        self.setLayout(vbox)
        self.btnMin.clicked.connect(self.on_min)
        self.btnMax.clicked.connect(self.on_max)
        self.btnFull.clicked.connect(self.on_full)
        self.btnNormal.clicked.connect(self.on_normal)
    def on_min(self):
        self.showMinimized()
    def on_max(self):
        self.showMaximized()
    def on_full(self):
        self.showFullScreen()
    def on_normal(self):
        self.showNormal()

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MyWindow()
    window.setWindowTitle("Разворачивание и сворачивание окна")
    window.resize(300, 100)
    window.show()
    sys.exit(app.exec_())
Архив с файлом можно взять здесь.

    Окно приложения изображено на рисунке 1.


Рис.1. Окно приложения

    На следующем шаге мы рассмотрим управление прозрачностью окна.




Предыдущий шаг Содержание Следующий шаг