QT QButtonGroup 实现单选、多选

一、QButtonGroup 简介

QButtonGroup 继承自 QObject,不是一个可视类,它主要是对按键进行分组,便于按键管理。

二、功能(API)

1. 查看按钮和设置按钮ID,实现单选,多选,点击后通过信号获取点击的按钮ID;

三、结合 QRadioButton,QCheckButton,QPushButton 等实现了 QAbstractButton类的对象实现

样例:

QButtonGroup* mButtonGroup;
mCheckBoxGroup = new QButtonGroup();
         
mCheckBoxGroup->setExclusive(false); //(false 多选;true 单选) //设置这个按钮组为互斥模式 //true 互斥
QCheckBox *checkBoxA = new QCheckBox();
QCheckBox *checkBoxB = new QCheckBox();

 for (int i = 0; i <2; i++)
 {
		
	 mButtonGroup->addButton(*checkBoxA, i);
	 mCheckBoxGroup->addButton(*checkBoxB, i);

    checkBoxA->setCheckable(true);
    checkBoxB->setCheckable(true);
 }


// 连接信号和槽
 connect(mCheckBoxGroup, SIGNAL(buttonClicked(int)), this, SLOT(slot_CheckBoxGroupClicked(int)));

 void ACLManualSegmentationUnityWidget::slot_CheckBoxGroupClicked(int id)
{

   if( mCheckBoxGroup->->button(id)->isChecked())//此处可知 具体哪个button id 状态
   {
       qDebug()<< QString::number(id); <<"checked  true";   
   }
   else
   {
       qDebug()<< QString::number(id); <<"checked  false"; 
   }
	 
}

qss

QPushButton{ 
 border:1 solid gray;
 background-color: rgb(229, 229, 229);
}

QPushButton:hover{
 border:1 solid #00aaff;
 background-color:  #dcfdfc;

}

QPushButton:checked,
QPushButton:pressed{
 border:1 solid #0b95ff;
 background-color:#bcebff;
}

样式

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值