Название: [РЕШЕНО]Сбросить размер диалога в исходное состояние Отправлено: neversleep от Февраль 10, 2013, 09:01 Доброго времени суток. Есть некий диалог(обычный наследник от QDialog) который создаётся 1 раз и по мере необходимости отображается, в процессе работы с этим диалогом его размеры могу изменяться, как сделать так, чтобы при каждом новом отображении этого диалога его размеры сбрасывались в исходные не привязываясь при этом к фиксированным значениям?
Вроде ничего сложного, но не получается: Код
Название: Re: Сбросить размер диалога в исходное состояние Отправлено: Bepec от Февраль 10, 2013, 11:09 adjustSize()?
Название: Re: Сбросить размер диалога в исходное состояние Отправлено: neversleep от Февраль 10, 2013, 11:55 Тоже самое.
Подробнее: открыли диалог, на нем есть кнопочка "показать доп. инфу" - кликаем на неё и диалог становиться длиннее, закрываем диалог, открываем еще раз - вот тут надо восстановить размеры в исходное состояние. Название: Re: Сбросить размер диалога в исходное состояние Отправлено: Bepec от Февраль 10, 2013, 12:12 Вас не понять. Аджуст сайз выбирает минимальный размер окна.
Почему и что у вас не получается - вы не показываете. Кода нет, картинок нет, проекта нет. Максимум что могу сказать - ваши тараканы, справиться можете лишь вы сами, ибо мы (я) вообще ничего о вашей проблеме незнаю :) Название: Re: Сбросить размер диалога в исходное состояние Отправлено: neversleep от Февраль 10, 2013, 13:24 Код я показал в 1 посте, думал этого будет достаточно.
Еще раз перепроверил с методом adjustSize() - помогло, спасибо. Одно не понятно, если adjustSize() использует sizeHint(), то почему resize(width(), sizeHint().height()); не работает, а adjustSize() сработал? Код
Название: Re: Сбросить размер диалога в исходное состояние Отправлено: VPS от Февраль 10, 2013, 13:38 Вместо изменения размеров в "my_execute()", можно в конструкторе диалога добавить:
"layout()->setSizeConstraint(QLayout::SetFixedSize);", а в методе только отменять выбор кнопки (которая расширяет диалог). П.С.: во вложении, немного переделанный пример из книги по Qt. Название: Re: Сбросить размер диалога в исходное состояние Отправлено: neversleep от Февраль 10, 2013, 14:02 Вместо изменения размеров в "my_execute()", можно в конструкторе диалога добавить: "layout()->setSizeConstraint(QLayout::SetFixedSize);", а в методе только отменять выбор кнопки (которая расширяет диалог). П.С.: во вложении, немного переделанный пример из книги по Qt. Интересно, спасибо. Правда ширина тогда плывёт, хотелось бы чтобы она всегда была фиксированная. Название: Re: Сбросить размер диалога в исходное состояние Отправлено: VPS от Февраль 10, 2013, 16:19 Интересно, спасибо. Правда ширина тогда плывёт, хотелось бы чтобы она всегда была фиксированная. У Вас плывёт из-за третьего groupbox-а. Можно задать минимальную ширину первого по третьему (в конструкторе), тогда плыть перестанет: Код: primaryGroupBox->setMinimumWidth(tertiaryGroupBox->sizeHint().width()); |