一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

QSS功能强大,可以自定义各种小部件的外观,其样式表的概念,术语和语法与HTML的CSS样式表类似。

首先创建qss文件,例如:style.qss,把它加到资源文件中, 在代码里加载文件,代码如下

1 QFile file(":/style.qss"); 
2 file.open(QFile::ReadOnly); 
3 QString styleSheet = tr(file.readAll()); 
4 this->setStyleSheet(styleSheet); 
5 file.close();

qss文件内容如下:

复制代码
 1 QPushButton#myButton:normal/*鼠标正常时的效果*/
 2 {
 3     color:#000000;
 4     background-color:rgb(40, 85, 20); /*改变背景色*/
 5     border-style:inset;/*改变边框风格*/
 6     padding-left:4px;
 7     padding-top:4px;
 8 }
 9  
10 /*鼠标悬浮时的效果*/
11 QPushButton#myButton:hover
12 {
13     color:#0000ff;
14     background-color:rgb(40, 85, 20); /*改变背景色*/
15     border-style:inset;/*改变边框风格*/
16     padding-left:8px;
17     padding-top:8px;
18 }
19 /*如果按下与悬浮想同时产生效果,hover必须写在pressed的后面*/
20 /*鼠标按下时的效果*/
21 QPushButton#myButton:pressed
22 {
23     color:#00ff00;
24     background-color:rgb(40, 85, 20); /*改变背景色*/
25     border-style:inset;/*改变边框风格*/
26     padding-left:6px;
27     padding-top:6px;
28 }
29  
30 /*鼠标不可用时的效果*/
31 QPushButton#myButton:disabled
32 {
33     color:#000000;
34     background-color:rgb(40, 85, 20); /*改变背景色*/
35     border-style:inset;/*改变边框风格*/
36     padding-left:6px;
37     padding-top:6px;
38 }
39  
40 QPushButton
41 {
42     color:red; /*文字颜色*/
43     background-color:rgb(30, 78, 11);/*背景色*/
44     border-style:outset; /*边框风格*/
45     border-width:2px;/*边框宽度*/
46     border-color:rgb(10, 46,112); /*边框颜色*/
47     border-radius:10px; /*边框倒角*/
48     font:bold 14px; /*字体*/
49     font-family: Segoe UI;
50     min-width:100px;/*控件最小宽度*/
51     min-height:20px;/*控件最小高度*/
52     padding:4px;/*内边距*/
53 }
54  
55  
56 /*按钮样式*/
57 QPushButton:flat
58 {
59     border:2px solid red;
60 }
61  
62 /*当按钮打开菜单时:ui->pushButton->setMenu(menu)*/
63 QPushButton:open
64 {
65     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #abdeac, stop: 1 #fafc12);
66 }
67  
68 /*子选择器:菜单*/
69 QPushButton::menu-indicator
70 {
71     image:url(":/close_normal.png");
72     /*image:none;去掉小三角号*/
73     subcontrol-origin:padding;/*绘制subcontrol的参考矩形的位置*/
74     subcontrol-position:bottom right;/*小三角的位置*/
75 }
76  
77 QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open
78 {
79     position:relative;
80     top:4px;
81     left:4px;
82 }
复制代码

 

posted on   一杯清酒邀明月  阅读(595)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示