最近刚学Qt在看Qt5开发实战,刚开始嘛,一步一步学,记录一下学习过程,有些深入的先不追究。刚看完QCheckBox与QButtonGroup,其实这两个控件平时都很常见,觉得很有用,QCheckBox就是复选框,而QButtonGroup就是对复选框进行分组和布局的(暂且这么认为吧)。下面的代码都直接声明定义在一起了,省的来回切换,粘过去应该就可以跑。先看代码,再一个个解释一下。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QCheckBox>
#include <QButtonGroup>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString str1[3]={"1","2","3"}; //复选框的名称
QString str2[3]={"one","two","three"};//复选框的名称
int xpos=30;
int ypos=30;
/*
* 将复选分成两组
*/
QButtonGroup *chck_group1=new QButtonGroup();
QButtonGroup *chck_group2=new QButtonGroup();
/*
* 每组里面的复选框,每组分别有3个复选框
*/
QCheckBox *QChck[3],*QChck1[3];
for(int i=0;i<3;++i)
{
QChck[i]=new QCheckBox(str1[i],this);//设置复选框名,并指明父窗口
QChck[i]->setGeometry(xpos,ypos,100,30);//设置绝对位置
chck_group1->addButton(QChck[i]);//将复选框添加到分组1中
//与上面同理
QChck1[i]=new QCheckBox(str2[i],this);
QChck1[i]->setGeometry(xpos+100,ypos,100,30);
chck_group2->addButton(QChck1[i]);
ypos+=40;
}
/*
* 为每个复选框添加图片,直接指明路径就可以
*/
QChck[0]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/1.jpg"));
QChck[1]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/2.jpg"));
QChck[2]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/3.jpg"));
QChck1[0]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/4.jpg"));
QChck1[1]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/5.jpg"));
QChck1[2]->setIcon(QIcon("C:/Users/Administrator/Desktop/Iocn/6.jpg"));
/*
* 这里是对每组的复选框是否可以多选进行属性设置
*/
chck_group1->setExclusive(true); //允许多选
chck_group2->setExclusive(false); //不允许多选
}
MainWindow::~MainWindow()
{
delete ui;
}
效果是这样的:
想要知道详细的用法和性质还是看官方的技术文档吧,这里就示例一下,哎,刚学,有些术语都不会说……,今天是2018.11.11日,星期天,一百万可能。有一起学习交流的伙伴可以加QQ2152574098,备注来自CSDN就会知道啦。