Как расположить окно по центру экрана?
Материал из Wiki.crossplatform.ru
(Различия между версиями)
Admin (Обсуждение | вклад) (поправил тэг коде) |
|||
Строка 1: | Строка 1: | ||
В том случае, когда нужно расположить окно по центру экрана удобно использовать класс QDesktopWidget: | В том случае, когда нужно расположить окно по центру экрана удобно использовать класс QDesktopWidget: | ||
- | + | <source lang=cpp-qt> | |
+ | void SomeWindow::moveWindowToCenter() { | ||
QDesktopWidget desktop; | QDesktopWidget desktop; | ||
QRect rect = desktop.availableGeometry(desktop.primaryScreen()); | QRect rect = desktop.availableGeometry(desktop.primaryScreen()); | ||
Строка 9: | Строка 10: | ||
move(center); | move(center); | ||
} | } | ||
- | + | </source> | |
Еще один вариант | Еще один вариант | ||
- | + | <source lang=cpp-qt>void SomeWindow::moveWindowToCenter() | |
{ | { | ||
QRect frect = frameGeometry(); | QRect frect = frameGeometry(); | ||
Строка 18: | Строка 19: | ||
move(frect.topLeft()); | move(frect.topLeft()); | ||
} | } | ||
- | + | </source> | |
[[Категория:Qt FAQ]] | [[Категория:Qt FAQ]] |
Текущая версия на 15:45, 18 октября 2009
В том случае, когда нужно расположить окно по центру экрана удобно использовать класс QDesktopWidget:
void SomeWindow::moveWindowToCenter() { QDesktopWidget desktop; QRect rect = desktop.availableGeometry(desktop.primaryScreen()); //получаем прямоугольник с размерами как у экрана QPoint center = rect.center(); //получаем координаты центра экрана center.setX(center.x() - (this->width()/2)); center.setY(center.y() - (this->height()/2)); move(center); }
Еще один вариант
void SomeWindow::moveWindowToCenter() { QRect frect = frameGeometry(); frect.moveCenter(QDesktopWidget().availableGeometry().center()); move(frect.topLeft()); }