Шаг 28.
Библиотека PyQt5.
Управление окном приложения. Местоположение окна на экране и управление им
На этом шаге мы рассмотрим методы, используемые для выполнения этих операций.
Задать местоположение окна на экране монитора позволяют следующие методы:
- move (<X>, <Y>) - задает положение компонента относительно родителя с учетом высоты
заголовка и ширины границ. В качестве параметра можно также указать экземпляр
класса QPoint из модуля QtCore. Пример вывода окна в левом верхнем углу экрана:
window.move(0, 0)
window.move(QtCore.QPoint(0, 0))
- setGeometry (<X>, <Y>, <Ширина>, <Высота>) - изменяет одновременно положение
компонента и его текущие размеры. Первые два параметра задают координаты левого верхнего угла относительно
родительского компонента, а третий и четвертый параметры - ширину и высоту. Обратите внимание, что метод не
учитывает высоту заголовка и ширину границ, поэтому если указать координаты (0, 0), то заголовок окна и левая
граница окажутся за пределами экрана. В качестве параметра можно также задать экземпляр класса QRect из модуля QtCore. Пример:
window.setGeometry (100, 100, 100, 70)
window.setGeometry (QtCore.QRect(100, 100, 100, 70))
Замечание.
Начало координат расположено в левом верхнем углу. Положительная ось X направлена вправо, а положительная ось Y - вниз.
Получить позицию окна позволяют следующие методы:
- x () и y () - возвращают координаты левого верхнего угла окна относительно родителя
по осям X и Y соответственно. Методы учитывают высоту заголовка и ширину границ.
Пример:
window.move(10, 10)
print(window.x(), window.у()) # 10 10
- pos () - возвращает экземпляр класса QPoint, содержащий координаты левого верхнего
угла окна относительно родителя. Метод учитывает высоту заголовка и ширину границ.
Пример:
window.move(10, 10)
print(window.pos().x(), window.pos().y()) # 10 10
- geometry () - возвращает экземпляр класса QRect, содержащий координаты относительно
родительского компонента. Метод не учитывает высоту заголовка и ширину границ.
Пример:
window.resize(300, 100)
window.move(10, 10)
rect = window.geometry()
print (rect.left(), rect.top()) # 14 40
print(rect.width(), rect.height()) # 300 100
- frameGeometry() - возвращает экземпляр класса QRect, содержащий координаты с учетом
высоты заголовка и ширины границ. Полные размеры окна доступны только после отображения окна.
Пример:
window.resize (300, 100)
window.move (10, 10)
rect = window.frameGeometry()
print(rect.left(), rect.top()) # 10 10
print(rect.width(), rect.height()) # 308 134
На следующем шаге мы закончим изучение этого вопроса.
Предыдущий шаг
Содержание
Следующий шаг