QPushButton是Qt开发中常用的按钮控件,通常使用时我们都要给他进行美化,美化有两种情况,一种是重新paintEvent函数进行绘制,另一种是通过setStyleSheet设置它的风格,下面介绍常用的风格属性设置:
background-color | 背景颜色 |
border-radius | 边界角度 |
background-image | 背景图 |
border | 边界 |
text-align | 文本对齐方式 |
padding (-top, -bottom, -left, -right) | 文字离边框距离 |
font-size | 字体大小 |
color | 字体颜色 |
。。。。 | 。。。。 |
下面看具体的示例
ui->pushButton->setStyleSheet("QPushButton{background-color:#66ffff;border-radius:5px;text-align:center;font-size:16px;color:gray;}"
"QPushButton:hover{background-color:#66ff00;border-radius:5px;text-align:center;font-size:16px;color:yellow;}"
"QPushButton:pressed{background-color:#6600ff;border-radius:5px;text-align:center;font-size:16px;color:blue;}"
"QPushButton:disabled{background-color:#00ffff;border-radius:5px;text-align:center;font-size:16px;color:green;}");
运行结果:
上面是设置文本的属性设置,也可以设置背景图例如:
ui->pushButton->setStyleSheet("QPushButton{background-image:url(\":/images/app_normal.png\");}"
"QPushButton:hover{background-image:url(\":/images/app_hover.png\");}"
"QPushButton:pressed{background-image:url(\":/images/app_pressed.png\");}"
"QPushButton:disabled{background-image:url(\":/images/app_disabled.png\");}");
运行结果:
上面这个边框有凹陷的现象不平滑,加上这个属性【border:none;】就美观了
ui->pushButton->setStyleSheet("QPushButton{background-image:url(\":/images/app_normal.png\");border:none;}"
"QPushButton:hover{background-image:url(\":/images/app_hover.png\");border:none;}"
"QPushButton:pressed{background-image:url(\":/images/app_pressed.png\");border:none;}"
"QPushButton:disabled{background-image:url(\":/images/app_disabled.png\");border:none;}");
运行结果:
对比发现没有边框凹陷了。