Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Larry от Август 13, 2018, 11:53



Название: Виджет меню
Отправлено: Larry от Август 13, 2018, 11:53
Добрый день, форумчане.
Требуется совет по созданию меню (как на рисунке). Группы должны сворачиваться/разворачиваться. Заголовки всегда видимые. Количество итемов не фиксированное. Сразу приходит на ум QTableView + model + delegate. Или есть другие варианты?
Спасибо.


Название: Re: Виджет меню
Отправлено: Ivan от Август 20, 2018, 10:09
Я бы делал свой виджет используя слои (QVBoxLayout) и пустые виджеты.

Идея такая:
Создаём вертикальный слой. Сверху ставим кнопку (которая скрывает и прячет меню), затем добавляем Пустой QWidget() и связываем событие кнопки с видимостью пустого виджета.
Потом на этот виджет можно накидать любые элементы интерфейса.
Затем на самой форме создаём еще один слой и накидывает туда сколь угодно много экземпляров ранее созданного слоя.

Во вложении пример. Сама идея и краткая реализация (в архтве RollMenu.zip ) .

Если посидеть подольше, то можно сделать полноценный класс виджета и командами типа "добавить меню", "добавить элемент".
Ну и сделать полезные события ( SIGNAL и SLOT ) чтобы проще было получать информацию из основной программы.



Название: Re: Виджет меню
Отправлено: Larry от Август 21, 2018, 08:16
Спасибо большое.