Russian Qt Forum
Октябрь 01, 2024, 00:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Автоматический подгон размеров QDialog под контент  (Прочитано 6236 раз)
Danila_Bagrofff
Гость
« : Ноябрь 23, 2009, 13:30 »

Есть диалог, в котором в зависимости от выбираемых параметров, меняется количество виджетов, отображаемых на диалоге.
При этом размер диалога остается всегда неизменным и подгоняется под максимальное количество виджетов.

На диаложке используются лэауты, которые компануют виджеты минимальным образом. При этом размер основного окна не подгоняется.
Хотя виджету задаю такие параметры:

setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
И задал еще setMinimumSize(0,0);
При скрытии элементов (через setVisible()) вызываю updateGeometry() для диалога. Но перерисовку с уменьшением размера он не делает.

Не хочется использовать отлавливание каких-то event'ов для переопределения размеров существующего виджет-контента и изменения размера диалога.

Не уж то нельзя как-то задать политику изменения размера под контент на диалоге? Или я что-то упустил?
« Последнее редактирование: Ноябрь 23, 2009, 16:13 от Danila_Bagrofff » Записан
ax
Чайник
*
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #1 : Ноябрь 23, 2009, 14:26 »

QLayout диалога setSizeConstraint(QLayout::SetFixedSize)
или в designer свойства диалога секция Layout/layoutSizeConstraint = SetFixedSize
Записан
Danila_Bagrofff
Гость
« Ответ #2 : Ноябрь 23, 2009, 14:31 »

благодарю. получилось!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Ноябрь 23, 2009, 14:49 »

>>И при скрытии элементов (через setVisible()) вызываю updateGeometry() для диалога. Но перерисовку он не делает.
void QWidget::adjustSize ()
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 23.