Qt 实现自定义开关样式按钮

在网上找了很多,大部分是自己实现,我这篇文章是通过已有的图片,只需要简单设置 css 样式就可以实现开关按钮样式

1、找到两张按钮样式的图片,分别为开和关
2、在 qt 的 ui 界面拖入一个 Buttons 中的 Check Box

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

最后就可以出现如下显示的效果图:

  开样式:



  关样式:

你可能感兴趣的:(qt)