在网上找了很多,大部分是自己实现,我这篇文章是通过已有的图片,只需要简单设置 css 样式就可以实现开关按钮样式
1、找到两张按钮样式的图片,分别为开和关
2、在 qt 的 ui 界面拖入一个 Buttons 中的 Check Box
![](https://i-blog.csdnimg.cn/blog_migrate/525e101a1d79eddb55ca9a0173350695.png)
3、右键转为槽,选择信号:stateChanged(int)
在槽函数里面编辑相应的代码,形参 int arg1 代表开关的状态,arg1 为 true 时,代表开状态,为 false 时为关状态。每次状态改变时,会触发槽函数
4、右键改变样式表,粘贴以下代码:
QCheckBox::indicator:unchecked {
image: url(:/UIImages/switch-off-icon.png);
}
QCheckBox::indicator:checked {
image: url(:/UIImages/switch-on-icon.png);
}
- 注意:url内容换成自己想添加图片的路径,根据自己具体命名的图片替换掉url
最后就可以出现如下显示的效果图:
开样式:
![](https://i-blog.csdnimg.cn/blog_migrate/1a8d242b133dd854a9eb2a9bebb102d5.png)
关样式:
![](https://i-blog.csdnimg.cn/blog_migrate/ead7d5096b3d255ac72ec780a428c1a3.png)