Задавать позицию окна в Qt нужно вручную. В статье описан метод как можно разместить окно по центру относительно рабочего стола, или родительского окна.
Для этого можно использовать описанный ниже метод.
Описание метода
void MainWindow::setPosition(QWidget & current, QWidget * parrent = 0)
Определение метода
void MainWindow::setPosition(QWidget & current, QWidget * parrent) { int left, top; if ( parrent ){ left = parrent->pos().x() + (parrent->frameGeometry().width() / 2) - (current.frameGeometry().width() / 2); top = parrent->pos().y() + (parrent->frameGeometry().height() / 2) - (current.frameGeometry().height() / 2); } else{ left = (qApp->desktop()->width() / 2) - (current.frameGeometry().width() / 2); top = (qApp->desktop()->height() / 2) - (current.frameGeometry().height() / 2); } current.setGeometry(QRect(left, top, current.frameGeometry().width(), current.frameGeometry().height())); }
Метод setPosition()
принимает два параметра типа QWidget
. Первый параметр current
- это окно которое мы хотим отцентрировать, второй параметр parrent
- это родительское окно, относительно которого нужно позиционировать дочернее.
Удачи!
Комментариев нет:
Отправить комментарий