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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Динамическое изменение размера виджета  (Прочитано 4435 раз)
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« : Август 06, 2013, 20:07 »

Коллеги, нужно в динамике изменить размер родительского виджета по размеру виджетов, содержащемся в нем.
Родительский виджет порожден от QMainWindow. Внутри него панели QFrame с фиксированными размерами, компоновка внутри главной формы - по вертикали.
В процессе выполнения некоторые панели становятся невидимыми, некоторые видимыми. Нужно, чтобы родительская форма принимала размер по сумме видимых панелей.
После установки видимости включенных в форму панелей делаю resize(size().width(),0). Ожидаю, что все включенные панели "прижмутся" друг к другу по вертикали. На деле, при увеличении размеров включенных фреймов все нормально. При уменьшении - остаются "дыры".
Понимаю, что что-то не понимаю с лейаутами. А что?
« Последнее редактирование: Август 08, 2013, 19:02 от sergek » Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
andrek
Гость
« Ответ #1 : Август 07, 2013, 16:51 »

у меня работает: resize(minimumSizeHint());
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #2 : Август 07, 2013, 20:59 »

у меня работает: resize(minimumSizeHint());
К сожалению, у меня не получилось  Грустный
Во вложении - пример. Надо последовательно в комбобоксе менять текущее значение, увидите.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
_OLEGator_
Гость
« Ответ #3 : Август 07, 2013, 21:33 »

Как вариант:
Код
C++ (Qt)
QApplication::processEvents();
 
adjustSize();
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #4 : Август 08, 2013, 19:02 »

Как вариант:
Спасибо! Cработало.

Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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