crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Как отцентрировать окно?
trdm
  опции профиля:
сообщение 18.1.2009, 19:53
Сообщение #1


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Как отцентрировать окно?
типа показать поцентру экрана?

В смысле как врукопашную сделать думаю что знаю, а вот есть ли метод какой?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 19.1.2009, 15:36
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


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);
}


Так покороче будет

    QRect gry = geometry();
    gry.moveCenter(qApp->desktop()->availableGeometry().center());
    setGeometry(gry);


QDesktopWidget возвращает primaryScreen, если параметр index не указан.

P.S.: availableGeometry() позволяет скорректировать центр относительно панели задач. Если её растянуть на пол экрана, то центр будет где-то в самом верху.

Сообщение отредактировал Litkevich Yuriy - 23.1.2009, 5:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.12.2024, 15:39