同时设置QPushButton的文字样式和图标的方法
-
为了美化界面,有时候需要修改QPushButton的样式,让一个QPushButton上面既要显示图标,又要显示文字内容
- 起初我的做法是重写QPushButton,这样做可以实现,但是有几个问题
- 实现比较繁琐
- 每次使用UI编辑器设计界面的时候,对每一个QPushButton都要做一次提升
- 为了解决上面的问题,就使用QSS的方式实现
- 起初我的做法是重写QPushButton,这样做可以实现,但是有几个问题
-
QPushButton上面既显示文字又显示图标的需要
-
通过qss样式便可以在一个QPushButton上面,左边显示图标,右边显示文字
-
效果图
-
具体代码实现如下:
-
QPushButton#btnUpdate{font: 9pt ".萍方-简";font-style: normal;font-size: 12px;line-height: 20px;border-radius: 4px;background: rgb(0, 142, 250);color: #FFFFFF;text-align: right;padding-right: 16px;background-image: url(:/UpdateLauncher/Source/Check.png);background-origin: content;background-position: left;padding-left: 16px;background-repeat: no-repeat;
}
QPushButton#btnUpdate:hover{font: 9pt ".萍方-简";font-style: normal;font-size: 12px;line-height: 20px;border-radius: 4px;background: rgb(0, 100, 250);color: #FFFFFF;text-align: right;padding-right: 16px;background-image: url(:/UpdateLauncher/Source/Check.png);background-origin: content;background-position: left;padding-left: 16px;background-repeat: no-repeat;
}
QPushButton#btnUpdate:pressed{font: 9pt ".萍方-简";font-style: normal;font-size: 12px;line-height: 20px;border-radius: 4px;background: rgb(0, 142, 250);color: #FFFFFF;text-align: right;padding-right: 16px;background-image: url(:/UpdateLauncher/Source/Check.png);background-origin: content;background-position: left;padding-left: 16px;background-repeat: no-repeat;
}