Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Racot от Июня 14, 2012, 21:30



Название: Размещение centralWidget в середине MainWindow!
Отправлено: Racot от Июня 14, 2012, 21:30
Мне нужно чтобы при запуске моего приложения главное окно разворачивалось на весь экран, а centralWidget перемещался на середину главного окна.Я сделал так:

(в креаторе у меня создан MainWindow с разрешением 1024х768))

    current_screen = QApplication::desktop()->screenGeometry();      //  определил разрешение экрана
    main_w->setGeometry(current_screen);                                    //  установил это разрешение окну
    GeoCW=main_w->centralWidget()->geometry();                         //  взял координаты центрального виджета
    GeoCW.setX((main_w->geometry().height()-768)/2);                   //  установил координату X на середину
    GeoCW.setY((main_w->geometry().width()-1024)/2);                  //  установил координату Y на середину
    main_w->centralWidget()->setGeometry(GeoCW);                      //   применил к центр. видж.


Что не получилось:
1)  при установке разрешению окну (setGeometry) за пределы вылез window titel.
Я нашел что есть разница между  frameGeometry() и geometry() но не более.
2)центральный виджет никуда не передвинулся.

Помогайте знатоки!
 


Название: Re: Размещение centralWidget в середине MainWindow!
Отправлено: Alex Custov от Июня 14, 2012, 21:37
1) почему бы не использовать showMaximized()? Развернуть на весь экран только с помощью функций move()/resize() не получится, т.к. resize() не учитывает оконный фрейм
2) central widget объединён в layout, его нельзя двигать.