本文主要总结用QPushbutton类做出QCheckBox的效果,同时用QSS实现按钮默认图标和颜色字体,鼠标滑过状态,选中后状态。
1.1下面,将关键代码贴出如下:
QPushButton *allSelectBtn = new QPushButton("全选");
allSelectBtn->setCheckable(true);
allSelectBtn->setFixedSize(QSize(100,30));
allSelectBtn->setStyleSheet("QPushButton{background-image: url(:res/1.png);background-repeat: no-repeat;}"
"QPushButton:hover{background-image: url(:res/1.png);background-repeat: no-repeat;}"
"QPushButton:checked{background-image: url(:res/1.png);background-repeat: no-repeat;}");
connect(allSelectBtn,SIGNAL(clicked(bool)),this,SLOT(On_allSelectBtnSlot()));
void QWidget::On_allSelectBtnSlot()
{
if(allSelectBtn->isChecked())
qDebug()<<"allSelectBtn is checked!";
e