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-width: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 }