Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: SpiritFire от Февраль 11, 2010, 13:20



Название: Изменение размера в QDockWidget::sizeHint()
Отправлено: SpiritFire от Февраль 11, 2010, 13:20
Есть наследник QDockWidget, в нем переопеделен sizeHint().

Наследнику назначен другой виджет: setWidget(mainWidget);
Ему, в свою очередь, назначен лейаут: mainWidget->setLayout(mainLayout);

Что я хочу получить: QDockWidget, в которое засунуто другое окно, с контроллами, управляемыми лейаутами с сохранением размера при выходе из приложения.

Но ожидаемый вариант - изменить обработчик QDockWidget::sizeHint() и вернуть в нем предпочтительный размер не работает потому, что этот обработчик не вызывается ниразу. Если же принудительно вызвать QDockWidget::adjustSize() - все равно ничего не произойдет, хотя обработчик sizeHint() вызван все же будет.

Подскажите, пожалуйста, почему там происходит и как с этим бороться?


Название: Re: Изменение размера в QDockWidget::sizeHint()
Отправлено: Kolobok от Февраль 11, 2010, 14:45
QMainWindow::saveState
QMainWindow::restoreState


Название: Re: Изменение размера в QDockWidget::sizeHint()
Отправлено: SpiritFire от Февраль 11, 2010, 15:38
Спасибо, это более удобное решение для сохранения размера и положения плавающих панелей.

Но все же, а как изменить програмно ширину QDockWidget? Например, если я хочу, чтобы при изменении размера окна менялся размер панели? Или если я хочу "по умолчанию" задавать определенный размер?