QT 样式表

有时候我们需要实现整个界面风格的换肤可以用这个简便的方式

1.首先我们先增加一个以.qss为后缀的文件my.qss;

2.把要改变的样式放在my.qss文件中。

3.把我们写好的my.qss文件添加在资源文件.qrc中。

4.调用这个文件

1 QFile file(":/qss/my.qss");
2 //只读的方式打开该文件
3 file.open(QFile::ReadOnly);
4 //读取文件中的全部内容,用tr()函数转化成QString类型
5 QString styleSheet = tr(file.readAll());
6 //为QApplication设置样式表

5.my.qss文件

 1 /*****************主界面背景***********************/
 2 QMainWindow{
 3 /*背景图片*/
 4 background-image: url(:/image/beijing.png);
 5 }
 6 
 7 /*****************按钮部件************************/
 8 QPushButton{
 9 /*背景色*/
10 background-color:rgba(100,225,100,30);
11 /*边框样式*/
12 border-style:outset;
13 /*边框宽度*/
14 border-4px;
15 /*边框圆角半径*/
16 border-radius:10px;
17 /*边框颜色*/
18 border-color:rgba(255,225,255,30);
19 /*字体*/
20 font:bold 14px;
21 /*字体颜色*/
22 color:rgba(0,0,0,100);
23 /*填衬*/
24 padding:6px;
25 }
26 
27 /*鼠标悬停在按钮上时*/
28 QPushButton:hover{
29 background-color:rgba(100,255,100,100);
30 border-color:rgba(255,255,255,200);
31 color:rgba(0,0,0,200);
32 }
33 
34 /*按钮被按下时*/
35 QPushButton:pressed {
36 background-color:rgba(100,255,100,200);
37 border-color:rgba(255,255,255,20);
38 border-style:inset;
39 color:rgba(0,0,0,100);
40 }
41 
42 
43 /*******************滑块部件******************************/
44 /*水平滑块的手柄*/
45 QSlider::handle:horizontal{
46 image: url(:image/sliderHandle.png);
47 }
48 
49 /*水平滑块以前的部分*/
50 QSlider::sub-page:horizontal{
51 /*边框图片*/
52 border-image:url(:/image/slider.png);
53 }
原文地址:https://www.cnblogs.com/wxh-53919/p/9370575.html