27 #include <QHBoxLayout> 28 #include <QPropertyAnimation> 29 #include <QToolButton> 30 #include <QVBoxLayout> 39 _layout =
new QVBoxLayout(
this);
40 _layout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
41 _layout->setContentsMargins(0, 0, 0, 0);
54 QHBoxLayout* title_layout =
new QHBoxLayout;
55 title_layout->setAlignment(Qt::AlignTop | Qt::AlignLeft);
56 title_layout->setContentsMargins(0, 0, 0, 0);
60 _button->setStyleSheet(
"QToolButton { border: none; }");
61 _button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
62 _button->setArrowType(Qt::ArrowType::RightArrow);
66 title_layout->addWidget(
_button);
69 QFrame* hline =
new QFrame;
70 hline->setFrameShape(QFrame::HLine);
71 hline->setFrameShadow(QFrame::Sunken);
72 hline->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
73 title_layout->addWidget(hline);
75 _layout->addLayout(title_layout);
82 _content->setStyleSheet(
"QGroupBox { border: none; }");
92 if (
_button->isChecked() == collapsed)
94 _button->setChecked(!collapsed);
100 _button->setArrowType(
_collapsed ? Qt::ArrowType::RightArrow : Qt::ArrowType::DownArrow);
void setCollapsed(bool collapsed)
void createTitle(const QString &title)
CollapsableGroupBox(const QString &title, QWidget *parent=0)