Местоположение окна на экране

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

  • move() — изменяет положение компонента относительно родителя. Метод учитывает высоту заголовка и ширину границ. Прототипы метода:
void move(int x, int y)
void move(const QPoint &)

Пример вывода окна в левом верхнем углу экрана:

window.move(0, 0);
  • setGeometry() — изменяет одновременно положение компонента и его текущий размер. Первые два параметра задают координаты левого верхнего угла (относительно родительского компонента), а третий и четвертый параметры — ширину и высоту. Обратите внимание на то, что метод не учитывает высоту заголовка и ширину границ. Поэтому, если указать координаты (0, 0), то заголовок окна и левая граница будут за пределами экрана. Прототипы метода:
void setGeometry(int x, int y, int w, int h)
void setGeometry(const QRect &)

Пример:

window.setGeometry(100, 100, 350, 70);
Обратите внимание

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

  • x() и y() — возвращают координаты левого верхнего угла окна относительно родителя по осям X и Y соответственно. Методы учитывают высоту заголовка и ширину границ. Прототипы методов:
int x() const
int y() const

Пример:

window.move(10, 10);
qDebug() << window.x() << window.y(); // 10 10
  • pos() — возвращает экземпляр класса QPoint, содержащий координаты левого верхнего угла окна относительно родителя. Метод учитывает высоту заголовка и ширину границ. Прототип метода:
QPoint pos() const

Пример:

window.move(10, 10);
qDebug() << window.pos().x() << window.pos().y(); // 10 10
  • geometry() — возвращает ссылку на экземпляр класса QRect, содержащий координаты относительно родительского компонента. Обратите внимание на то, что метод не учитывает высоту заголовка и ширину границ. Прототип метода:
const QRect &geometry() const

Пример:

window.resize(350, 70);
window.move(10, 10);
// ...
window.show();
QRect rect = window.geometry();
qDebug() << rect.left() << rect.top();     // 18 41
qDebug() << rect.width() << rect.height(); // 350 70
  • frameGeometry() — возвращает экземпляр класса QRect, содержащий координаты с учетом высоты заголовка и ширины границ. Обратите внимание на то, что полные размеры окна доступны только после отображения окна. Прототип метода:
QRect frameGeometry() const

Пример:

window.resize(350, 70);
window.move(10, 10);
// ...
window.show();
QRect rect = window.frameGeometry();
qDebug() << rect.left() << rect.top();     // 10 10
qDebug() << rect.width() << rect.height(); // 366 109

Учебник C++ (Qt Creator и MinGW)
Учебник C++ (Qt Creator и MinGW) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов