Qt 使用Qss设置QPushButton图标和显示文本的位置

发布时间 2023-11-02 08:44:37作者: 一杯清酒邀明月
一、背景

​   在开发中,经常使用到按钮作为一种输入部件,然而很多时候按钮又有不同的开发设计需求,本文重点分享:如何使用Qss来设置按钮的图标和按钮文本的位置,从而实现预期的开发效果。

【效果】

二、Css样式表
(2-1)常用的QPushButton样式表模板
 1 QPushButton{
 2     background-color: #2786ba;                /* 背景颜色 */
 3     border-radius:5px;                        /* 按钮边框的圆角设置 */
 4     
 5     /* 按钮背景图标设置 */
 6     background-image: url(:/configIcon.png);  /* 背景图片 */
 7     background-origin: content;
 8     background-position: center;            /* 背景图片的位置 */
 9     padding-right: 40px;                    /* 背景图标的padding参数 */
10     padding-bottom: 2px;                    /* 背景图标的padding参数 */
11     background-repeat: no-repeat;            /* 设置背景图像的平铺模式 */
12 
13     /* 按钮文本设置 */
14     text-align: top;                        /* 文本的位置 */
15     padding-left: 2px;                        /* 文本的padding参数 */        
16     padding-top: 2px;
17     font-size: 12px;
18     color: #FFFFFF;                            /* 文本颜色 */
19 }

(2-2)图标在上/文本在下

 1 QPushButton#pushButton
 2 {
 3     background-image: url(:/configIcon.png);
 4     background-origin: content;
 5     background-position: top;
 6     padding-top: 0px;
 7     background-repeat: no-repeat;
 8 
 9     text-align: bottom;
10     padding-bottom:-50px;
11     font-size: 12px;
12     color: #FFFFFF;
13 }

(2-3)图标在下/文本在上

 1 QPushButton#pushButton_2
 2 {
 3     background-image: url(:/configIcon.png);
 4     background-origin: content;
 5     background-position: bottom;
 6     background-repeat: no-repeat;
 7 
 8     text-align: top;
 9     padding-top:5px;
10 
11     font-size: 12px;
12     color: #FFFFFF;
13 }

(2-4)图标在左/文本在右

 1 QPushButton#pushButton_3
 2 {
 3     background-image: url(:/configIcon.png);
 4     background-origin: content;
 5     background-position: left;
 6     background-repeat: no-repeat;
 7 
 8     text-align: right;
 9     padding-right:5px;
10 
11     font-size: 12px;
12     color: #FFFFFF;
13 }

(2-5) 图标在右/文本在左

 1 QPushButton#pushButton_4
 2 {
 3     background-image: url(:/configIcon.png);
 4     background-origin: content;
 5     background-position: right;
 6     background-repeat: no-repeat;
 7 
 8     text-align: left;
 9     padding-left:5px;
10 
11     font-size: 12px;
12     color: #FFFFFF;
13 }

三、特别说明

​ 1、在设置QPushButtom的图标和文本位置时有两个Css属性特别重要:

1 background-position  -----  设置图标的位置
2 text-align-------------设置文本的位置        

​ 2、然后使用Padding盒子模型进行位置设置了:

1 padding-left
2 padding-bottom
3 padding-top
4 padding-right

​ 注意:以上四个padding参数一定要设置合适,才能调整图标和文本的位置。