Задавать позицию окна в 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 - это родительское окно, относительно которого нужно позиционировать дочернее.
Удачи!
Комментариев нет:
Отправить комментарий