Есть ли стандартный компонент для складной панели в Qt?

Я пытаюсь создать сворачиваемую боковую панель, похожую на ту, что в Qt Designer (см. прилагаемый скриншот). Они выглядят как QListViews, размещенные в виде сворачиваемого виджета.

enter image description here

Я googled для "сборной панели Qt", и кажется, что для этого нет стандартного компонента или, по крайней мере, не под этим именем. Итак, кто-нибудь знает, имеет ли какой-либо стандартный компонент Qt такое же поведение? Если нет, может ли кто-нибудь предложить, как я могу это сделать?

Спасибо.

Ответы

Ответ 1

Я решил следовать общему подходу, изложенному в ссылке, представленной Джоей.

В частности, я создал виджет для каждого складного списка. Этот виджет состоит из QPushButton в верхней части и QListView внизу.

Затем я подключил сигнал нажатия кнопки к обработчику, чтобы переключить геометрию QListView между тем, чтобы иметь высоту 0, когда она скрыта, и ее исходную высоту, когда она снова появляется.

Я нахожу, что этот подход намного проще по сравнению с настройкой события paint, предложенным Claudio. Кроме того, я могу использовать QAnimationProperty для анимации изменения геометрии, чтобы сделать список "слайдом" внутри и вне поля зрения.

Но в любом случае спасибо за ответы!