Название: Как задать размер клиентской области в QMdiSubWindow? Отправлено: navrocky от Ноябрь 17, 2010, 12:42 Нужно задать определенный внутренний размер MDI-окна.
Код ниже задает внешний размер (с шапкой и границами). Т.е. для MDI-окна frameGeometry и geometry - одно и то же ( Код
Костыли типа: Код
не помогают :( Окно пока не отобразилось на экран, его размеры некорректны... Что делать? Сейчас вижу только один страшный костыль, при старте программы отобразить mdi-окно, замерить размер его границ и занести в константу для дальнейшего использования ((( Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: BRE от Ноябрь 17, 2010, 12:46 Попробуй переобпределить для root_widget:
virtual QSize sizeHint () const Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: navrocky от Ноябрь 17, 2010, 13:08 Попробуй переобпределить для root_widget: virtual QSize sizeHint () const Помогло спасибо ) Интересно есть ли более простое решение? Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: navrocky от Ноябрь 17, 2010, 17:36 Внезапно обнаружился косяк. Если sizeHint больше размеров QMdiArea, то окно QMdiSubWindow создается по размерам QMdiArea, т.е. меньше чем надо. ((
Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: rrmini от Ноябрь 18, 2010, 17:04 Внезапно обнаружился косяк. Если sizeHint больше размеров QMdiArea, то окно QMdiSubWindow создается по размерам QMdiArea, т.е. меньше чем надо. (( может это поможет: mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: navrocky от Ноябрь 19, 2010, 13:40 может это поможет: mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); Дык оно вроде по умолчанию так и есть, скроллбары появляются при необходимости. Сейчас нагородил различных синхронизаций размеров с вложенным виджетом для других целей, внезапно окошко открывается теперь всегда с нужным размером. Но это конечно не решение проблемы ( Название: Re: Как задать размер клиентской области в QMdiSubWindow? Отправлено: cemehehko от Декабрь 15, 2010, 16:44 Есть ещё такой рабочий костыль:
Код:
|