Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Как отцентрировать окно?

Автор: trdm 18.1.2009, 19:53

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

В смысле как врукопашную сделать думаю что знаю, а вот есть ли метод какой?

Автор: void* 18.1.2009, 20:46

http://www.wiki.crossplatform.ru/index.php/Как_расположить_окно_по_центру_экрана%3F

Автор: kuler 19.1.2009, 12:22

Цитата(void* @ 18.1.2009, 20:46) *
тут :)

это и есть вручную

Автор: void* 19.1.2009, 13:18

Цитата(trdm @ 18.1.2009, 18:53) *
а вот есть ли метод какой?

это как раз и будет методом :)

Автор: Litkevich Yuriy 19.1.2009, 13:49

void*, я думаю trdm, под методом понимал термин ООП, что равно в С++: функция-член класса

Автор: void* 19.1.2009, 13:53

но стандартной такой по-моему нет

Автор: kuler 19.1.2009, 15:34

он хотел как в билдере widget->Position = screenCenter и все!

Автор: SABROG 19.1.2009, 15:36

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() позволяет скорректировать центр относительно панели задач. Если её растянуть на пол экрана, то центр будет где-то в самом верху.

Автор: trdm 22.1.2009, 23:57

краткость сестра таланта. :)
Применил по назначению :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)