世界视讯!Qt QSS美化 基础知识

2023-05-21 13:46:39 QT教程

QSS加载方式

方式一:

myDialog->setStyleSheet("QLineEdit { background-color: yellow }"); nameEdit->setStyleSheet("background-color: yellow");

方式二:


(相关资料图)

QFile file(":/qss/main.qss");file.open(QFile::ReadOnly);QTextStream filetext(&file);QString stylesheet = filetext.readAll(); this->setStyleSheet(stylesheet);file.close();

QSS选择器类型

通配选择器

*

匹配所有的控件

类型选择器

QPushButton

匹配所有QPushButton和其子类的实例

QPushButton {background: gray;}

属性选择器

QPushButton[flat="false"]

匹配所有flat属性是false的QPushButton实例,注意该属性可以是自定义的属性,不一定非要是类本身具有的属性

QPushButton[level="dangerous"] { background: magenta; }/*openButton->setProperty("level", "dangerous");*/

类选择器

.QPushButton

匹配所有QPushButton的实例,但是并不匹配其子类。这是与CSS中的类选择器不一样的地方,注意前面有一个点号

.RedButton { background: magenta; }/*openButton->setProperty("class", "RedButton"); closeButton->setProperty("class", "RedButton");*/

ID选择器

#myButton

匹配所有id为myButton的控件实例,这里的id实际上就是objectName指定的值

#openButton, #closeButton { background: magenta; }

后代选择器

QDialog QPushButton

所有QDialog容器中包含的QPushButton,不管是直接的还是间接的

QDialog {background: gray;}/* 设置 QDialog中的 QPushButton 的 QSS */QDialog QPushButton {border: 2px solid magenta;border-radius: 10px;background: white;padding: 2px 15px;}

子选择器

QFrame>QPushButton

所有QFrame容器下面的QPushButton,其中要求QPushButton的直接父容器是QFrame,注意和后代选择器的区别

QFrame {background: gray;}QFrame >QPushButton {border: 2px solid magenta;border-radius: 10px;background: white;padding: 2px 15px;}

伪类选择器

选择器:状态 作为选择器,支持 ! 操作符,表示 非。

QPushButton:hover { color: white }QCheckBox:checked { color: white } QCheckBox:!checked { color: red }

所有的这些选择器可以联合使用,并且支持一次设置多个选择器类型,用逗号隔开,这点与CSS一样,例如:

#frameCut,#frameInterrupt,#frameJoin

表示所有这些id使用一个规则。

#mytable QPushButton

表示选择所有id为mytable的容器下面的QPushButton实例

QSS常用属性

字体

大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD

样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)

行高 {line-height: normal;}(正常) 单位:PX、PD、EM

粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常)

变体 {font-variant: small-caps;}(小型大写字母) normal;(正常)

大小写 {text-transform: capitalize;}(首字母大写) uppercase;(大写) lowercase;(小写) none;(无)

修饰 {text-decoration: underline;}(下划线) overline;(上划线) line-through;(删除线) blink;(闪烁)

字体名:

微软雅黑:Microsoft YaHei

宋体:SimSun

黑体:SimHei

仿宋: FangSong

楷体: KaiTi

隶书:LiSu

幼圆:YouYuan

华文细黑:STXihei

华文楷体:STKaiti

华文宋体:STSong

华文中宋:STZhongsong

华文仿宋:STFangsong

方正舒体:FZShuTi

方正姚体:FZYaoti

华文彩云:STCaiyun

华文琥珀:STHupo

华文隶书:STLiti

华文行楷:STXingkai

华文新魏:STXinwei

font: 15px "Segoe UI"; /* 字体:大小 名称 */ font-family: "Segoe UI"; /* 字体名称 */

颜色

17种标准色:aqua, black, blue, fuchsia, gray, green, lime, maroon, navy,olive, orange, purple, red, silver, teal, white, yellow

colo:rgb(255,255,255); color: #F5F5F5; /* 前景(文本)颜色 */color: qlineargradient(); /* 前景(文本)颜色:线性渐变*/color: qradialgradient(); /* 前景(文本)颜色:辐射渐变*/color: qconicalgradient(); /* 前景(文本)颜色:梯形渐变*/

内边距

padding: 4px; /* 文字边距 */padding-left: 5px; /* 文字左边距 */padding-right: 10px; /* 文字右边距 */padding-top: 3px; /* 文字顶边距 */ padding-bottom: 3px; /* 文字底边距 */

外边距

margin: 14px 18px 20px 18px; /*外边距 顺序上右下左 */ margin-top: 14px;margin-right: 18px; margin-bottom: 20px; margin-left: 18px;

背景

background-color: #202122; /* 背景颜色 */ background-color: qlineargradient(); /* 背景颜色:线性渐变*/ background-color: qradialgradient(); /* 背景颜色:辐射渐变*/ background-color: qconicalgradient(); /* 背景颜色:梯形渐变*/ background-image:url(boder.png); /* 背景图片 */ background-position: ; /* 背景图片对齐方式 */ background-repeat: ; /* 背景图片平铺方式 */

边框

border-style: dotted;(点线) dashed;(虚线) solid; double;(双线) groove;(槽线) ridge;(脊状) inset;(凹陷) outset;

border-width:; 边框宽度border-color:#;简写方法border:width style color; /*简写*/border: 1px solid #FDBC03; /* 边框:宽度 颜色*/border-image:url(boder.png) 4 8 12 16; /* 边界图 切线 */border-radius: 4px; /* 角弧度 */border-top-left-radius: ; /* 角弧度:左上角*/border-top-right-radius: ; /* 角弧度:右上角*/border-bottom-left-radius: ; /* 角弧度:左下角*/border-bottom-right-radius: ; /* 角弧度:右下角*/

宽高

width:12px; /*设置宽度 单位像素*/height:40px /*设置高度*/min-width:65px; /*最小宽度 设置width无效可以尝试设置min-width */min-height:12px; /*最小高度*/ max-width:12px;max-height:12px;

QSS伪状态与子控件

伪状态列表

:checked /*button部件被选中*/ :unchecked /*button部件未被选中*/ :disabled /*部件被禁用*/ :enabled /*部件被启用*/ :focus /*部件获得焦点*/ :hover /*鼠标位于部件上*/:indeterminate /*checkbox或radiobutton被部分选中*/:off /*部件可以切换,且处于off状态*/ :on /*部件可以切换,且处于on状态*/ :pressed /*部件被鼠标按下*/

子部件列表

::down-arrow /*combo box或spin box的下拉箭头*/ ::drop-down /*combo box的下拉箭头*/ ::indicator /*checkbox、radio button或可选择group box的指示器*/ ::item /*menu、menu bar或status bar的子项目*/ ::menu-indicator /*push button的菜单指示器*/ ::title /*group box的标题*/ ::down-button /*spin box的向下按钮*/ ::up-arrow /*spin box的向上箭头*/ ::up-button /*spin box的向上按钮*/

【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】

点击这里:

上一篇 : 环球讯息:环球热推荐:王菲陪李嫣游法国合照流出,李嫣17岁生日在即越大越漂亮_环球速看料

下一篇 : 最后一页

x

相关推荐

精彩推送