复选框QCheckBox和分组框QGroupBox

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:设置复选框是否选中

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值