1. 复选框:QCheckBox
实例化
//实例化
// QCheckBox* checkBox = new QCheckBox("是否同意该条款",this);
QCheckBox* checkBox = new QCheckBox(this);
1.1 代码实现
1.1.1 复选框的基本函数
复选框选中状态的参数
Qt::Unchecked //未选中状态
Qt::PartiallyChecked //半选中状态
Qt::Checked //全选中状态
QCheckBox
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
//复选框的使用
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//设置大小
this->checkBox->resize(150,40);
//设置位置
this->checkBox->move(100,0);
//设置复选框文本提示
this->checkBox->setText("是否同意该协议");
//设置使复选框状态具有三种状态
this->checkBox->setTristate(true);//true 代表三种状态,false两种
//设置复选框的状态
this->checkBox->setCheckState(Qt::PartiallyChecked);//Qt::PartiallyChecked半选中状态
//获取复选框状态
Qt::CheckState state = this->checkBox->checkState();
if(state==Qt::PartiallyChecked){
qDebug()<<"半选中状态呢"<<endl;
}
}
Dialog::~Dialog()
{
delete ui;
}
1.2 信号
复选框被选中状态改变 触发信号
QCheckBox
绑定
dialog.cpp
//绑定复选框被选中信号
connect(this->checkBox,SIGNAL(stateChanged(int)),this,SLOT(receive_State(int)));
槽
定义
dialog.h
public slots://复选框被选中触发
void receive_State(int state);
实现
dialog.cpp
//复选框被选中触发
void Dialog::receive_State(int state){
if(state==0){
qDebug()<<"未选中"<<endl;
}else if(state==1){
qDebug()<<"半选中"<<endl;
}else if(state==2){
qDebug()<<"全选中"<<endl;
}
}
1.3 UI实现
text:设置文本
icon:设置图片
iconsize:图片大小
shortcut:快捷键
....
2.分组框:QGroupBox
实例化
//实例化
// QGroupBox* groupBox = new QGroupBox("按钮组",this);
QGroupBox* groupBox = new QGroupBox(this);
2.1 代码实现
2.1.1 分组框的基本函数
QGroupBox
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
//分组框的使用
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
//获取标题对齐方式
Qt::Alignment align = this->groupBox->alignment();
//设置分组框的大小
this->groupBox->resize(100,80);
//移动
this->groupBox->move(100,100);
//设置分组框的对齐方式
this->groupBox->setAlignment(Qt::AlignRight);//右对齐
//设置标题
this->groupBox->setTitle("按钮组");
//获取标题
QString title = this->groupBox->title();
//设置分组框的复选框
this->groupBox->setCheckable(true);//分组框标题前面右复选框
//设置选中该分组框
this->groupBox->setChecked(true);
//设置分组框边框是否隐藏
// this->groupBox->setFlat(true);//true 隐藏 false不隐藏
}
Dialog::~Dialog()
{
delete ui;
}
2.2 信号
void clicked(bool checked = false)当鼠标光标在按钮内时按下然后释放,或当键入快捷键时发出此信号。
void toggled(bool on)如果组框是可检查的,则在复选框被切换时发出此信号。如果复选框被选中,On为true;否则为false
2.3 UI实现
UI:
titile:设置标题
alignment:设置对齐方式
flat:设置边框是否隐藏
checkable:设置是否具有复选框
checked:设置复选框是否选中