/*********************重写QGroupBox类***************/
class CustomGroupBox :public QGroupBox
{
Q_OBJECT
public:
explicit CustomGroupBox(QWidget *parent = nullptr);
~CustomGroupBox();
public slots:
void getCheckedSignal(bool checked); //选中信号槽
}
/***************************重写GroupBox类 构造函数******************/
CustomGroupBox::CustomGroupBox(QWidget *parent):
QGroupBox(parent)
{
setCheckable(true);
setChecked(true);
connect(this,&GroupBox::clicked,this,&CustomGroupBox::getCheckedSignal);
}
CustomGroupBox::~CustomGroupBox(){
{
}
//***********************槽函数****************/
void CustomGroupBox::getCheckedSignal(bool checked)
{
QList<QWidget *>widgets = this->findChildren<QWidget *>();
int size = widget.size();
if(!checked)
{
for(int i = 0;i<size;i++)
{
widget.at(i)-setVisible(checked);
widget.at(i)->setHidden(true);
}
}
else
{
for(int i = 0;i<size;i++)
{
widget.at(i)-setVisible(checked);
widget.at(i)->show();
}
}
}
//**************将控件提升为这个类***************/
ui->groupbox 右键提升类名为:CustomGroupBox
/**************设置GroupBox的qss*************/
.goupBox{
border: 0px solid transparent;
background-color:#1b1d24;
}
.groupBox::title{
width:56px;
height:13px;
color:#ffffff;
}
.groupBox::indicator:checked{
image:url(":/themes/icon/open.png")center;
}
.groupBox::indicator:unChecked{
image:url(":/themes/icon/open.png")center;
}