Шаг 57.
Библиотека PyQt5. Обработка сигналов и событий. События окна. Изменение положения и размеров окна

    На этом шаге мы рассмотрим методы, используемые для выполнения указанных операций.

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

Приведем пример обработки изменения положения окна и его размера.
# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets

class MyWindow(QtWidgets.QWidget):
    def __init__ (self, parent = None):
        QtWidgets.QWidget.__init__(self, parent)
        self.resize(300, 100)
    def moveEvent(self, e):
        print ("x = {0}; y = {1}".format (e.pos().x(), e.pos().y()))
        QtWidgets.QWidget.moveEvent(self, e)  # Отправляем дальше
    def resizeEvent(self, e):
        print("w = {0}; h= {1}".format(e.size().width(),
                                       e.size().height()))
        QtWidgets.QWidget.resizeEvent(self, e) # Отправляем дальше

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

    Результат работы приложения изображен на рисунке 1.


Рис.1. Результат работы приложения

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




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