checkbox控件实在进行项目开发中常见的一个部件,但是QCheckBox的默认样式有些丑,那就对他进行改造吧!
效果如下:
1、 在阿里巴巴图标网找一对开关图标,放入到项目资源文件中
2、在ui文件中拖两个QCheckBox控件,第一个作为按照,第二个进行样式修改。
3、对ui->checkBox_2进行样式改造
ui->checkBox_2->setFixedSize(64,32);
QString qss = R"(
QCheckBox::indicator{
width:64px;
height:32px;
}
QCheckBox::indicator::unchecked{
image:url(:/images/turn_off.png);
}
QCheckBox::indicator::checked{
image:url(:/images/turn_on.png);
}
)";
ui->checkBox_2->setStyleSheet(qss);
ui->checkBox_2->setChecked(true);
【遇到问题】
背景图片显示不全问题,因为背景图片是256px*128px,没有设置checkbox大小的时候,只能显示一部分因此需要设置QCheckBox空间的大小,另外在qss中还需要设置QCheckBox::indicator的大小。
Q"(..)"的意思是:可以随意换行书写qss代码,有缩进效果。