Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: deMax от Октябрь 23, 2015, 13:03



Название: GUI глюки в Qt5.5
Отправлено: deMax от Октябрь 23, 2015, 13:03
Есть окно QMainWindow, повесил на кнопку полного экрана следующий код:
Код:
if(isFullScreen()) { if(winMax) showMaximized(); else showNormal(); }
else {winMax = isMaximized(); showFullScreen();}

Если окно развернуть, потом перейти в полный экран и выйти из полного экрана, потом отключить разворачивание - окно будет занимать весь экран, а не исходный размер (это глюк 1, причем весь экран монитора, панель пуск не учитывается).
потом нажимаем 3 раза кнопку входа-выхода в полный экран, и у окна в полноэкранном режиме справа и снизу появляется область(это баг 2, примерно равная двойной толщине рамки, с остатками изображения), само окно рисуется корректно, но его размер меньше на эту область.
в qt4, 5.2 такого бага не было.


Название: Re: Полный экран в Qt5.5
Отправлено: qate от Октябрь 26, 2015, 11:56
попробуй restoreGeometry saveGeometry


Название: Re: Полный экран в Qt5.5
Отправлено: deMax от Октябрь 27, 2015, 11:16
Можно в принципе, хотя надеюсь в следующей версии починят. (p.s. сделал на пустом проекте, баг присутствует)

Как отличить скрытие/открытие окна от сворачивания/развертывания?


Название: Re: GUI глюки в Qt5.5
Отправлено: deMax от Октябрь 29, 2015, 14:37
Вот этот код помещает окно в верхний правый угол, причем заголовок выходит за границу экрана и его нельзя схватить.
Код:
void MainWindow::showEvent(QShowEvent *)
{
    setMaximumSize(minimumSizeHint());
    setMinimumSize(minimumSizeHint()); //sizeHint() или minimumSizeHint() не важно, если эту строку убрать, то окно отображается корректно - по центру экрана
}


Название: Re: GUI глюки в Qt5.5
Отправлено: lit-uriy от Октябрь 30, 2015, 10:27
deMax, насчёт последнего, ты оперируешь виджетом, а не окном с его декорацией (рамка и заголовок), для работы с  декорацией см. QWidget::frameSize и QDesktopWidget