QSS的使用案例

网友投稿 268 2022-09-13

QSS的使用案例

首先建立QSS文件,内容如下:

QProgressBar{ color : solid gray; border: 2px solid gray; border-radius: 5px; background: transparent; padding: 0px; text-align : center ; } QProgressBar::chunk{ background: #B22222; } QTextEdit{ border: 10px; border-image: url(image/system/border.png)10 10 10 10 ; background-color: rgba(43,45,31,255); } QTextEdit[description="true"]{ border: 10px; border-image: none; background-color: rgba(255,255,255,255); } QTextEdit QScrollBar:vertical { margin: 22px 0 22px 0; } QScrollBar:add-page { background-color: rgba(0,0,0,255); } QScrollBar:sub-page { background-color: rgba(0,0,0,255); } QScrollBar::add-line:vertical { background-color: rgba(43,45,31,255); height: 15px; subcontrol-position: bottom; subcontrol-origin: margin; } QScrollBar::sub-line:vertical { background-color: rgba(43,45,31,255); height: 15px; subcontrol-position: top; subcontrol-origin: margin; } QScrollBar::handle:vertical { border : 2px solid gray; border-radius: 6px; background-color: solid gray; min-height : 12px; } QScrollBar::up-arrow:vertical { border-image: url(image/system/button/scroll-up-arrow.png); } QScrollBar::down-arrow:vertical { border-image: url(image/system/button/scroll-down-arrow.png); } QLineEdit#chat_edit{ background-color: rgba(20,20,20,255); color: white; border: 10px transparent; height: 20px; border-image: url(image/system/border.png)10 10 10 10 ; } QStatusBar::item { border: 0px solid grey; } QStatusBar{ background-image: url(image/system/skill-dock.png); color:white; } QMenu[private_pile="true"]{ background-color: rgba(43,63,53,200); border-radius: 1px; color: white; } QPushButton[private_pile="true"]{ background-color: rgba(43,63,53,200); border-radius: 1px; color: white; } QPushButton[game_control="true"]{ border: 0px solid gray; font: 12px; border-radius: 5px; padding: 6px 12px 6px 12px; } QPushButton#pause{ background-image: url(image/system/button/pause.png); } QPushButton#play{ background-image: url(image/system/button/play.png); } QPushButton#slow-down{ background-image: url(image/system/button/slow-down.png); } QPushButton#speed-up{ background-image: url(image/system/button/speed-up.png); } QPushButton#uniform{ background-image: url(image/system/button/uniform.png); } #skill_bar_container QPushButton{ background-image: url(image/system/button/back.png); border: 1px solid gray; border-radius: 4px; color: yellow; font: 12px; padding: 6px 12px 6px 12px; } #skill_bar_container QPushButton:disabled{ background-image: url(image/system/button/back_shade.png); border-radius: 4px; color: white; font: 12px; } #skill_bar_container QCheckBox{ border: 1px solid gray; border-radius: 4px; color: yellow; font: 12px; padding: 1px 12px 1px 8px; } #skill_bar_container QCheckBox::indicator{ height: 0px; width: 0px; } #skill_bar_container QCheckBox:unchecked{ background-image: url(image/system/button/frequent_checkbox/unchecked.png); } #skill_bar_container QCheckBox:unchecked:hover{ background-image: url(image/system/button/frequent_checkbox/unchecked_hover.png); } #skill_bar_container QCheckBox:unchecked:pressed{ background-image: url(image/system/button/frequent_checkbox/unchecked_press.png); } #skill_bar_container QCheckBox:checked{ background-image: url(image/system/button/frequent_checkbox/checked.png); } #skill_bar_container QCheckBox:checked:hover{ background-image: url(image/system/button/frequent_checkbox/checked_hover.png); } #skill_bar_container QCheckBox:checked:pressed{ background-image: url(image/system/button/frequent_checkbox/checked_press.png); } #skill_bar_container QComboBox{ background-image: url(image/system/button/back2.png); border: 1px solid gray; border-radius: 3px; color: white; padding: 1px 18px 1px 3px; } #skill_bar_container QComboBox:on{ padding-left: 4px; padding-top: 3px; } #skill_bar_container QComboBox::drop-down{ border-bottom-right-radius: 3px; border-left-color: darkgray; border-left-style: solid; border-left-width: 1px; border-top-right-radius: 3px; subcontrol-origin: padding; subcontrol-position: top right; width: 15px; } #skill_bar_container QComboBox::down-arrow:on{ left: 1px; top: 1px; }

//然后在main.cpp里面添加:

#include "mainwindow.h"#include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QFile file("C:\\Users\\Administrator\\Documents\\widgetdemo\\css.qss"); qDebug()<setStyleSheet(styleSheet); MainWindow w; w.show(); return a.exec();}

控件可分为前景与背景

前景:多包含文件,图片等内容

背景:多包含图片,图形等内容

由于QT style是模拟CSS的布局结构,因此其满足CSS的盒子模型

从里到外的4个区域分别是:

1: content

2:  padding

3:  border

4:  margin

通过控制一个控件的前景,背景内容已经结构上的4个区域,我们就可以达到对一个控件为所欲为的控制

QSS基本功能

CSS的强大在于组合功能的强大,这里只是简单介绍基本功能,将简单功能组合起来才能实现好看的效果。

QSS背景属性(Background)

QSS边框属性(Border 和 Outline)

Box 属性

属性

描述

QSS

​overflow-x​

如果内容溢出了元素内容区域,是否对内容的左/右边缘进行裁剪。

3

​overflow-y​

如果内容溢出了元素内容区域,是否对内容的上/下边缘进行裁剪。

3

​overflow-style​

规定溢出元素的首选滚动方法。

3

​rotation​

围绕由 rotation-point 属性定义的点对元素进行旋转。

3

​rotation-point​

定义距离上左边框边缘的偏移点。

3

QSS 字体属性(Font)

QSS 外边距属性(Margin)

QSS 内边距属性(Padding)

QSS 定位属性(Positioning)

属性

描述

QSS

​bottom​

设置定位元素下外边距边界与其包含块下边界之间的偏移。

2

​clear​

规定元素的哪一侧不允许其他浮动元素。

1

​clip​

剪裁绝对定位元素。

2

​cursor​

规定要显示的光标的类型(形状)。

2

​display​

规定元素应该生成的框的类型。

1

​float​

规定框是否应该浮动。

1

​left​

设置定位元素左外边距边界与其包含块左边界之间的偏移。

2

​overflow​

规定当内容溢出元素框时发生的事情。

2

​position​

规定元素的定位类型。

2

​right​

设置定位元素右外边距边界与其包含块右边界之间的偏移。

2

​top​

设置定位元素的上外边距边界与其包含块上边界之间的偏移。

2

​vertical-align​

设置元素的垂直对齐方式。

1

​visibility​

规定元素是否可见。

2

​z-index​

设置元素的堆叠顺序。

 

 

 

QSS 文本属性(Text)

属性

描述

QSS

​color​

设置文本的颜色。

1

​direction​

规定文本的方向 / 书写方向。

2

​letter-spacing​

设置字符间距。

1

​line-height​

设置行高。

1

​text-align​

规定文本的水平对齐方式。

1

​text-decoration​

规定添加到文本的装饰效果。

1

​text-indent​

规定文本块首行的缩进。

1

text-shadow

规定添加到文本的阴影效果。

2

​text-transform​

控制文本的大小写。

1

​unicode-bidi​

设置文本方向。

2

​white-space​

规定如何处理元素中的空白。

1

​word-spacing​

设置单词间距。

1

​hanging-punctuation​

规定标点字符是否位于线框之外。

3

​punctuation-trim​

规定是否对标点字符进行修剪。

3

text-align-last

设置如何对齐最后一行或紧挨着强制换行符之前的行。

3

​text-emphasis​

向元素的文本应用重点标记以及重点标记的前景色。

3

​text-justify​

规定当 text-align 设置为 "justify" 时所使用的对齐方法。

3

​text-outline​

规定文本的轮廓。

3

​text-overflow​

规定当文本溢出包含元素时发生的事情。

3

​text-shadow​

向文本添加阴影。

3

​text-wrap​

规定文本的换行规则。

3

​word-break​

规定非中日韩文本的换行规则。

3

​word-wrap​

允许对长的不可分割的单词进行分割并换行到下一行。

3

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:QDL Integrate 云平台系统
下一篇:从Burberry到Versace,奢侈品牌靠印花营销救命!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~