我们可以给组合框设置checked属性
//获取和设置checked属性是否开启
bool isCheckable() const
void setCheckable(bool checkable)
//获取和设置选中还是非选中
bool isChecked() const
void setChecked(bool checked)
效果如下:
如果checked属性使能之后,组合框没有被选中,那么组合框里面的控件都会被禁能,不可以操作,只有选中了组合框,里面的控件才会使能,可以操作他们。
效果如下:
组合框选中,里面的控件使能:
没有被选中,里面的控件禁能:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QCheckBox>
#include<QGroupBox>
#include<QVBoxLayout>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr) : QWidget(parent)
{
resize(500,500);
QGroupBox* box1=new QGroupBox(this);
box1->setCheckable(true);//启用checked属性
box1->setChecked(false);//设置没有选中
box1->setTitle("水果");
box1->setGeometry(10,10,300,300);
QVBoxLayout* v_box=new QVBoxLayout(box1);
QCheckBox* cb1=new QCheckBox("苹果",this);
QCheckBox* cb2=new QCheckBox("葡萄",this);
QCheckBox* cb3=new QCheckBox("柚子",this);
v_box->addWidget(cb1);
v_box->addWidget(cb2);
v_box->addWidget(cb3);
}
~Widget()=default;
};
#endif // WIDGET_H
学习链接:https://github.com/0voice