Вы наверное уже сталкивались с необходимостью изменять виджеты в окне при определённых действиях пользователя. Это можно сделать и непосредственно кодируя программу при помощи механизма слотов и сигналов qt, но зачем усложнять себе жизнь, если можно воспользоваться прекрасным инструментом разработки — Qt Designer.
Итак откроем Qt Creator и создадим «GUI приложение Qt». Назовём его к примеру «more».. Оставте все настройки по умолчанию… они нам особой роли не сыграют…
Вы должны увидеть вот такое окошко:
В левой колонке — список виджетов, посередине превью окна, а справа свойства выделенного элемента.
Теперь набросаем небольшую «окошку», чтобы было с чем работать. Просто берите и перетаскивайте элементы из списка на форму окна.
Я добавил QGroupBox, QDialogButtonBox, QLabel и QLineEdit вот таким образом:
Теперь продублируем группу элементов. Создадим вторую, ту которая будет скрываться и раскрываться по клику.
Я добавил вторую группу элементов и кнопку «Показать» :
Теперь отредактируем свойства кнопки.
Поставим галочку напротив checkable и checked:
Теперь необходимо связать нажатие кнопки с изменением видимости второй группы объектов. Для этого нажмите Правка — Изменение Сигналов/Слотов или F4. Перетащите курсором стрелку с кнопки на вторую группу элементов, чтобы получилось вот так:
В открывшемся диалоговом окне необходимо связать изменение состояния кнопки (переключателя) с изменением видимости группы:
Выйдете из режима настройки сигналов в режим настройки виджетов (F3).
После проделанных операций откомпилируйте результат. Нижняя группа элементов должна пропадать при «отжатой» кнопке «Показать» и появляться при «нажатой».
Для того, чтобы изменять размер окна, чтобы уменьшать и увеличивать его при появлении/пропадании элементов необходимо изменить режим компановки элементов.. но это уже другая тема…