手机网站内容设计方案深圳找工作哪个网站好
web/
2025/9/29 5:12:07/
文章来源:
手机网站内容设计方案,深圳找工作哪个网站好,铜仁建设局网站首页,中国建筑土木建设有限公司网站QSS简介
QSS#xff08;Qt Style Sheet#xff09;样式表是一种用于描述图形用户界面#xff08;GUI#xff09;样式的语言。它允许开发者为应用程序的控件定义视觉外观#xff0c;例如颜色、字体、尺寸和布局等。
QSS 样式表的主要目的是提供一种简洁而灵活的方式来美化…QSS简介
QSSQt Style Sheet样式表是一种用于描述图形用户界面GUI样式的语言。它允许开发者为应用程序的控件定义视觉外观例如颜色、字体、尺寸和布局等。
QSS 样式表的主要目的是提供一种简洁而灵活的方式来美化应用程序的界面使其具有一致的外观和风格。通过使用 QSS开发者可以分离界面的样式和功能代码从而更容易维护和定制界面的外观。
QSS 样式表通常以.qss文件的形式保存其中包含了一系列的样式规则。这些规则使用选择器来指定要应用样式的控件以及对应的样式属性和值。例如可以使用类似于 CSS 的选择器来定义按钮的颜色、文本框的字体大小或窗口的背景颜色。
QSS 还支持继承和层次结构这使得样式可以在控件之间传递和复用。例如可以定义一个基本的样式然后在特定的控件上覆盖或修改这些样式以实现个性化的效果。
除了基本的样式属性QSS 还提供了一些高级特性如动画效果、状态变化和伪类等。这使得开发者能够创建更具交互性和动态的界面例如在鼠标悬停时改变按钮的颜色或在控件获得焦点时显示边框。
使用 QSS 样式表有许多好处。它可以提高应用程序的用户体验使界面看起来更加专业和吸引人。此外样式表的可维护性使得在不同平台上保持一致的外观变得更加容易同时也减少了与界面外观相关的代码复杂性。
1.1 盒子模型
CSS盒模型本质上是一个盒子封装周围的HTML元素它包括边距边框填充和实际内容。
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。
下面的图片说明了盒子模型(Box Model) 不同部分的说明
Margin(外边距) - 清除边框外的区域外边距是透明的。 Border(边框) - 围绕在内边距和内容外的边框。 Padding(内边距) - 清除内容周围的区域内边距是透明的。 Content(内容) - 盒子的内容显示文本和图像。 为了正确设置元素在所有浏览器中的宽度和高度你需要知道的盒模型是如何工作的。
2. QSS加载方式
方式一在代码中加载
myDialog-setStyleSheet(QLineEdit { background-color: yellow });
nameEdit-setStyleSheet(background-color: yellow);方式二读文件的方式加载 QFile file(://qss/styles.css);if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qWarning(styles.css open falied);}this-setStyleSheet(file.readAll());3.QSS选择器类型
3.1 通配选择器 * 匹配所有的控件
3.2 类型选择器
QPushButton
匹配所有QPushButton和其子类的实例
QPushButton {background: gray;}3.3 属性选择器
QPushButton[flatfalse]
匹配所有flat属性是false的QPushButton实例注意该属性可以是自定义的属性不一定非要是类本身具有的属性
QPushButton[STYLE_KEYdangerous] { background: magenta; }
/*openButton-setProperty(STYLE_KEY, dangerous);*/3.4 类选择器
.QPushButton
匹配所有QPushButton的实例但是并不匹配其子类。这是与CSS中的类选择器不一样的地方注意前面有一个点号
.RedButton { background: magenta; }/*
openButton-setProperty(class, RedButton);
closeButton-setProperty(class, RedButton);
*/3.5 ID选择器
#myButton
匹配所有id为myButton的控件实例这里的id实际上就是objectName指定的值
#openButton, #closeButton { background: magenta; }3.6 后代选择器
QDialog QPushButton
所有QDialog容器中包含的QPushButton不管是直接的还是间接的
QDialog {background: gray;}
/* 设置 QDialog中的 QPushButton 的 QSS */
QDialog QPushButton
{border: 2px solid magenta;border-radius: 10px;background: white;padding: 2px 15px;
}3.7 子选择器
QFrame QPushButton
所有QFrame容器下面的QPushButton其中要求QPushButton的直接父容器是QFrame,注意和后代选择器的区别
QFrame {background: gray;}
QFrame QPushButton
{border: 2px solid magenta;border-radius: 10px;background: white;padding: 2px 15px;
}3.8 伪类选择器
选择器:状态 作为选择器支持 ! 操作符表示 非。
QPushButton:hover { color: white }
QCheckBox:checked { color: white }
QCheckBox:!checked { color: red }所有的这些选择器可以联合使用并且支持一次设置多个选择器类型用逗号隔开这点与CSS一样例如
#frameCut,#frameInterrupt,#frameJoin 表示所有这些id使用一个规则。
#mytable QPushButton 表示选择所有id为mytable的容器下面
4. QSS常用属性
4.1 字体
大小 {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;(闪烁)4.2 颜色
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(); /* 前景(文本)颜色:梯形渐变*/ 4.3 内边距
padding: 14px 18px 20px 18px; /*内边距 顺序上右下左 */padding-left: 5px; /* 文字左边距 */ padding-right: 10px; /* 文字右边距 */ padding-top: 3px; /* 文字顶边距 */ padding-bottom: 3px; /* 文字底边距 */4.4 外边距
margin: 14px 18px 20px 18px; /*外边距 顺序上右下左 */margin-top: 14px;margin-right: 18px;margin-bottom: 20px;margin-left: 18px;4.5 背景
background-color: #202122; /* 背景颜色 */ background-color: qlineargradient(); /* 背景颜色:线性渐变*/ background-color: qradialgradient(); /* 背景颜色:辐射渐变*/ background-color: qconicalgradient(); /* 背景颜色:梯形渐变*/ background-image:url(boder.png); /* 背景图片 */ background-position: ; /* 背景图片对齐方式 */ background-repeat: ; /* 背景图片平铺方式 */ 4.6 边框
border-style: solid;/*边框类型*/
/**/
dotted - 定义点线边框
dashed - 定义虚线边框
solid - 定义实线边框
double - 定义双边框
groove - 定义 3D 坡口边框。效果取决于 border-color 值
ridge - 定义 3D 脊线边框。效果取决于 border-color 值
inset - 定义 3D inset 边框。效果取决于 border-color 值
outset - 定义 3D outset 边框。效果取决于 border-color 值
none - 定义无边框
hidden - 定义隐藏边框
/**/border-width: 2px; /*边框宽度*/border-color: #FDBC03; /*边框颜色*/border: 1px solid #FDBC03; /* 边框:宽度 类型 颜色*/ border-image:url(boder.png) 4 8 12 16; /* 边界图 切线 */ border-radius: 4px; /* 角弧度 */ border-top-left-radius: 4px; /* 角弧度:左上角*/ border-top-right-radius: 4px; /* 角弧度:右上角*/ border-bottom-left-radius: 4px; /* 角弧度:左下角*/ border-bottom-right-radius: 4px; /* 角弧度:右下角*/4.7 宽高
width:12px; /*设置宽度*/height:40px; /*设置高度*/min-width:65px; /*最小宽度*/min-height:12px; /*最小高度*/max-width:12px; /*最大宽度*/max-height:12px; /*最大高度*/5. QSS伪状态与子控件
5.1 伪状态列表
:checked /*button部件被选中*/
:unchecked /*button部件未被选中*/
:disabled /*部件被禁用*/
:enabled /*部件被启用*/
:focus /*部件获得焦点*/
:hover /*鼠标位于部件上*/
:indeterminate /*checkbox或radiobutton被部分选中*/
:off /*部件可以切换且处于off状态*/
:on /*部件可以切换且处于on状态*/
:pressed /*部件被鼠标按下*/5.2 子部件列表
::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的向上按钮*/6 以下是一个简单的 QSS 样式表示例
QPushButton {font: bold 16px Arial;background-color: lightblue;color: black;
}QLineEdit {font: 12px Arial;border: 1px solid gray;padding: 2px;
}在上述示例中我们定义了两个控件的样式QPushButton 和 QLineEdit。
对于 QPushButton我们设置了字体为加粗的 16 像素Arial 字体背景颜色为浅蓝色文本颜色为黑色。
对于 QLineEdit我们设置了字体为 12 像素的 Arial 字体边框为 1 像素的实线灰色内边距为 2 像素。
要应用这些样式你可以将样式表文件保存为 .qss 格式例如 style.qss然后在你的 Qt 应用程序中使用 QApplication::setStyleSheet() 方法加载样式表
#include QApplication
#include QPushButton
#include QLineEditint main(int argc, char *argv[]) {QApplication app(argc, argv);// 加载样式表app.setStyleSheet(style.qss);// 创建控件并显示QPushButton button(Click Me);button.show();QLineEdit edit;edit.show();return app.exec();
}码字不易欢迎点赞支持
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83717.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!