QSS的使用

article/2025/9/28 23:26:08

QSS官方文档:https://doc.qt.io/qt-5/stylesheet-reference.html
图标制作例子: normal hover press disable
图标制作
按钮设计指南
按钮多态的几种方法

一、程序应用qss文件

QString qssPath = QString("%1/stylesheet/style.qss").arg(a.applicationDirPath());
QFile file(qssPath);
if(file.open(QFile::ReadOnly))
{
//     a.setStyleSheet(file.readAll());//在main()中this->setStyleSheet(file.readAll());//在MainWidget中}
file.close();

二、单个应用qss及语法

CSS语法教程
样式表子控件查阅

1、从里到外区域依次为:content、padding、border、margin。
2、冲突时,优先使用更具体的选择器
3、QSS遵循css规则,注释只能用/**/。不能用//或#。而且注释不能嵌套,最好一行一行的进行注释。
4、伪状态的冒号左右不能有空格,否则会报错,QSS解析错误,错误代码:Could not parse application stylesheet。

//不同的属性间用;分隔,同一个属性可以设置多个值,用空格分隔
selector {property1: value1 value2; property2: value3} 
this->ui->label_2->setStyleSheet("{color:red}");//特定控件使用setStyleSheet(),不需要加选择器
myDialog->setStyleSheet("QLineEdit { background-color: yellow }");
m_centralWidget->setStyleSheet("QWidget#centralWidget{background-color:rgb(242, 242, 242,180)};");
QPushButton{color:blue;}/*实例及其子类*/
.QPushButton{color:blue;}/*实例不包含子类*/
QPushButton, QLineEdit{color:blue;}/*分组*/
QPushButton#okButton { color: gray }/*根据对象ID*/
#btnOK{font-weight:bold;}/*根据对象ID*/
#frameCut,#frameInterrupt,#frameJoin{font-weight:bold;} /*根据多个对象ID*/
#mytable  QPushButton{font-weight:bold;} /*表示选择所有id为mytable的容器下面的QPushButton实例*/
QPushButton[flat="true"] {color:red;}/*根据属性*/
QPushButton[flat="true"][default="false"]{color:red;}/*根据多个属性*/
QDialog QPushButton{color:red;}/*后代:QDialog容器中包含的QPushButton,不管是直接的还是间接的*/
QDialog > QPushButton{color:red;}/*子元素:QDialog容器下面的QPushButton,其中要求QPushButton的直接父容器是QDialog*/
QPushButton:hover{color:white}/*伪状态*/
QRadioButton:!hover{color:red}
QPushButton:hover:enabled{color:white}/*多个伪状态*/
/*子控件选择*/
QRadioButton::indicator::unchecked:disabled{image: url(:/qss/radiobutton_unchecked_disable.png);
}
QComboBox::drop-down:hover{background-color:red;}
ui->frame->setStyleSheet("QFrame{ color: red; border:1px solid red }");/*只Frame*/
ui->frame->setStyleSheet("QPushButton{ color: red; border:1px solid red }");/*frame下QPushButton*/
ui->frame->setStyleSheet("*{ color: red; border:1px solid red }");/*frame下所有*/
//设置边框颜色和像素的时候,必须是第一种顺序,而CSS中是无所谓的
border:1px solid red; //Ok
border:solid 1px red; //Error
border:red 1px solid; //Error
border:red solid 1px; //Error
//设置宽高必须要使用 min-width和min-height,max-width,max-height来设置,用width和height
//QComboBox由3部分组成,一个是QComboBox的外框,里面有一个下拉按钮,这个下拉按钮上面一般会有一个向下的箭头。
QComboBox::drop-down{//控制下拉按钮位置,左边或右边
}
QComboBox::down-arrow{//指定向下箭头的图像
}
QComboBox QAbstractItemView {//设置当点击下拉按钮之后弹出的下拉列表的样式,要注意的是这里的样式//仅仅只能设置弹出的整个下拉列表范围的矩形的样式,不能设置下拉列表//中的每一个下拉项的样式,例如不能设置每一个下拉项高度
}
QcomboBox{//设置未弹出下拉列表的样式
}QComboBox QAbstractItemView::item {
//设置弹出下拉列表中的每一个下拉项的样式,这里的样式要想生效,必须先
//对QcomboBox做下面的设置
//QStyledItemDelegate* itemDelegate = new QStyledItemDelegate();
//combox->setItemDelegate(itemDelegate);   
}
3.1 CSS文字属性
CSS文字属性及示例	说明
color:#999999;	文字颜色
font-family:Microsoft Yahei,sans-serif;	字体家族
font-size:16pt;	字体大小
font-style:itelic;(normal、oblique)	字体样式
letter-spacing:1pt;	字间距离
line-height:200%;	设置行高
font-weight:bold;(lighter、normal、数值900)	字体粗细
text-decoration:underline;(line-through、overline、none)	字体修饰
text-align:left;(right、center、justify)	文字左对齐
vertical-align:top;(bottom、middle、text-top、text-bottom)	垂直对齐方式
text-transform:uppercase;(lowercase、capitalize)	英文大写
font-variant: small-caps;(normal)	小型大写字母
3.2 CSS背景样式:
CSS背景样式及示例	说明
background:black;	背景颜色为黑色
background-color:#F5E2EC;	背景颜色
background-image:url(/image/bg.gif);	背景图片
background:transparent;	透视背景
background-repeat : repeat;	重复排列-网页默认
background-position : center;	指定背景位置-居中对齐
3.3 CSS边框空白
CSS边框空白及示例	说明
padding:5px 10px 5px 10px;	所有边框留空白
padding-top:10px;	上边框留空白
padding-right:10px;	右边框留空白
padding-bottom:10px;	下边框留空白
padding-left:10px;	左边框留空白
3.4 CSS框线
CSS框线建议书写方式	说明
border:1px solid red;	所有边框线
border-top:1px solid #6699cc;	上框线
border-bottom:1px solid #6699cc;	下框线
border-left:1px solid #6699cc;	左框线
border-right:1px solid #6699cc;	右框线
border-radius:8px;	边框圆角半径
以上是建议书写方式,但也可以使用常规书写方式,如下表所示:
CSS框线常规书写方式	说明
border-top-color:#369;	设置上框线颜色
border-top-width:1px;	设置上框线宽度
border-top-style:solid	设置上框线样式
其他框线样式如下:
solid - 实线
dotted - 虚线
double - 双线
inset - 凹框
outset - 凸框
groove - 立体内凸框
ridge - 立体浮雕框
3.5 CSS边界样式
CSS边界样式及示例	说明
margin-top:10px;	上边界值
margin-right:10px;	右边界值
margin-bottom:10px;	下边界值
margin-left:10px;	左边界值
注:px:相对长度单位,像素(Pixel)。pt:绝对长度单位,点(Point)。
/*按钮普通态*/
QPushButton
{   font-family:Microsoft Yahei;    /*字体为微软雅黑*/ font-size:20pt;       /*字体大小为20点*/color:white;         /*字体颜色为白色*/ background-color:rgb(14 , 150 , 254);    /*背景颜色*/  border-radius:8px;     /*边框圆角半径为8像素*/ 
}
/*按钮停留态*/
QPushButton:hover
{     background-color:rgb(44 , 137 , 255);  /*背景颜色*/ 
}
/*按钮按下态*/
QPushButton:pressed
{      background-color:rgb(14 , 135 , 228);   /*背景颜色*/padding-left:3px;     /*左内边距为3像素,让按下时字向右移动3像素*/   padding-top:3px;     /*上内边距为3像素,让按下时字向下移动3像素*/
}
/*加图片*/
QPushButton{/*image: url(:/user.ico) ;image-position:0px left;*/ qproperty-icon: url(:/user.ico) off, url(:/user.ico) on; qproperty-iconSize: 16px 16px;
}
//正往下,负往上
QGroupBox::title{subcontrol-position:top center;top:20px;}
font-size:16px; //字体大小

三、失效原因

解决继承QWidget后设置样式(QSS)无效的办法
1、实现背景图像随Widget大小自动缩放

background-image:指定的背景图像无法随Widget大小自动缩放,
border-image:图像从border及其内的区域绘制,border被覆盖,支持缩放。
image:图像绘制到content区域内,image指定的url为SVG图像,则支持自动缩放,非SVG图像仅支持自动缩小。
(MainWidget、主Widget)设置有效,其他widget需在其上放一个QFrame,再设置QFrame的图像。但其子对象也继承该背景图片,最好用下面的方法。

//设置背景图
QPixmap pixmap("/bigback.png");
QPalette pe;
pe.setBrush(QPalette::Background,QBrush(pixmap));
setPalette(pe);
setAutoFillBackground(true);

2、窗口设置为透明的时候,才会出现QTextEdit、QLineEdit的背景颜色不生效的情况。

(1)QTextEdit设置背景色透明无效
直接调用background:transparent;无效。需要添加border:none;
(2)QLineEdit 设置 background:transparent; 无效,可能是没有设置 # border 属性

this->setStyleSheet("QTextEdit{color: red; background-color: green; border:0px;}");
this->setStyleSheet("QTextEdit{color: red; background-color: green; border:1px solid red;}");
this->setStyleSheet("QTextEdit{color: red; background-color: transparent; border:1px solid red;}");

3、QLineEdit 设置 padding-left 的时候,会把原来的大小撑大
4、QToolButton 中的menu设置样式无效,可能是 menu没有作为子窗体 无法继承自父窗体样式
5、QPushButton设置背景颜色须同时设置边框
在这里插入图片描述
因为pushbutton的原生边界把背景色给覆盖住了,要想使背景色生效,必须设置一下某个border属性,border-color、border-width等等任何一个跟border相关的属性都行。

四、例子

QSS入门
QSS应用
qss样式表笔记大全:可设置样式的窗口部件列表(上)
qss样式表笔记大全:可设置样式的窗口部件列表(中)
qss样式表笔记大全:可设置样式的窗口部件列表(下)
qlineargradient渐变色

颜色设置有:
qlineargradient(线性渐变颜色设置)qradialgradient(辐射渐变)qconicalgradient(圆锥形渐变)QLinearGradient:显示从起点到终点的渐变。
QRadialGradient:以圆心为中心显示渐变。
QConicalGradient:围绕一个中心点显示渐变。
QGradient::PadSpread :填充区域内最接近的停止颜色。这是默认的。
QGradient::RepeatSpread : 在区域外继续重复填充。
QGradient::ReflectSpread : 在区域外反射填充。

PyDracula - 界面美化模板【视频】
PyDracula【Github地址】
QtDracula【Github地址】
在这里插入图片描述

在这里插入图片描述

//以窗口最大化/还原按钮为例说明动态属性
//如果之前已经设置了样式,重新设置时需要调用unpolish先卸载之前的样式,
//也可以直接使用setStyle(QApplication::style())一步到位
void Widget::setMaxButtonProperty()
{m_buttonMax->setProperty("maximizeProperty", this->isMaximized() ? true : false);m_buttonMax->style()->unpolish(m_buttonMax);    //先卸载之前的样式m_buttonMax->style()->polish(m_buttonMax);      //重新加载样式
//或者
//  m_buttonMax->setStyle(QApplication::style())    m_buttonMax->update();
}
QSpinBox,QComboBox{  /*设置spinBox combox 类和他们的所有子类的style*/
border:1px solid #242424; /*设置border*/
border-radius:3px;/*设置border圆角*/
padding:2px;
background:#484848; /*背景颜色*/
/*selection-background-color:#484848;
selection-color:#DCDCDC;*/
color : white;/*文本颜色,ComboBox上显示的,不是item里的*/
}QComboBox::down-arrow{/*设置combox 的下三角 style*/
image:url(:/psblack/add_bottom.png); /*设置图片*/
width:10px;
height:10px;
right:2px;
}
QComboBox::drop-down:on{
top:1px;
}
QComboBox::drop-down{
subcontrol-origin:padding; /*在padding区域 显示三角*/
subcontrol-position:top right; /*设置子控件的位置 右上 */
width:15px;
border-left-width:0px;
border-left-style:solid;
border-top-right-radius:3px;
border-bottom-right-radius:3px;
border-left-color:#242424;
}QComboBox:hover{ /*QComboBox的鼠标滑过  设置渐变色*/background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 gray,stop:1 #525252);
}QComboBox QAbstractItemView { /*设置IQComboBox里的item 属性*//*  border: 2px solid darkgray;*/selection-color: white; /*选泽时的字体颜色*/selection-background-color: #484848;/*选泽时的背景颜色*/color : black;/*未被选择的字体颜色*/border: 0px; outline:0px; /*去掉虚线*/}QRadioButton{ /*设置QRadioButton的字体颜色*/color : white;
}QRadioButton::indicator::unchecked{ /*当radiobutton不被选中是的圆圈图片*/
image:url(:/psblack/radiobutton_unchecked.png);
}QRadioButton::indicator::unchecked:disabled{/*当radiobutton不被选中同时disabled状态时,的圆圈图片*/
image:url(:/psblack/radiobutton_unchecked_disable.png);
}QRadioButton::indicator::checked{ /*同理选中时*/
image:url(:/psblack/radiobutton_checked.png);
}QRadioButton::indicator::checked:disabled{
image:url(:/psblack/radiobutton_checked_disable.png);
}QTabWidget::pane{ /*好像是tabwidget的窗口*/background-color:#484848;
}
/* shuxing wei tab=true de suoyou widget baohan ta de zilei keyi
ba tabwidget nong quan hei le */
QWidget[tab="true"],.QWidget,QTabWidget{
background:#484848;
}
.QWidget{/*只是设置QWidget这一类,不会涉及到子类*/
border-bottom:1px solid #242424;
}QTabBar::tab{ /*设置tab标签*/
border:1px solid #242424;
color:#DCDCDC;
margin:0px;
min-height: 12;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);
}/*tabBar bei xuanzhong he shubiao huaguo*/
QTabBar::tab:selected,QTabBar::tab:hover{
border-style:solid;
border-color: white;
background:#444444;
}
/* shangfang de tabBar  hai you zuo you xia fang de bar */
/*设置在上面的tab标签,默认tab在控件上方*/
QTabBar::tab:top,QTabBar::tab:bottom{
padding:3px 8px 3px 8px;
}/*QTabBar::tab:left,QTabBar::tab:right{
padding:8px 3px 8px 3px;
} 被选中和鼠标滑过时*/
QTabBar::tab:top:selected,QTabBar::tab:top:hover{
border-width:0px 0px 2px 0px;
border-left-width:1px;
border-left-color:#242424;
border-right-width:1px;
border-right-color:#242424;
}.QLabel:disabled{color : gray;
}
QCheckBox,QLabel{color : white;
}QCheckBox:disabled{color : gray;
}
QCheckBox::indicator:unchecked{/*QCheckbox的方框*/
image:url(:/psblack/checkbox_unchecked.png);
}QCheckBox::indicator:unchecked:disabled{
image:url(:/psblack/checkbox_unchecked_disable.png);
}QCheckBox::indicator:checked{
image:url(:/psblack/checkbox_checked.png);
}QCheckBox::indicator:checked:disabled{
image:url(:/psblack/checkbox_checked_disable.png);
}QCheckBox::indicator:indeterminate{
image:url(:/psblack/checkbox_parcial.png);
}QCheckBox::indicator:indeterminate:disabled{
image:url(:/psblack/checkbox_parcial_disable.png);
}
.QGroupBox{ 
border:1px solid darkgray;
border-radius:4px;
margin-top:8px;
padding: 6px 0;
}.QGroupBox::title{ /*groupbox 的标题*/
subcontrol-origin:margin;
position:relative;
left:10px;
color : white;
}
QLineEdit {border: 1px solid gray;border-radius: 4px;padding: 0 0;background: gray;color : white;selection-background-color: rgb(4,113,206,220);
}/*.QPushButton{background:rgb(4,113,206,220);border-radius:4px;border:1px solid darkgray;min-width:60;min-height:18;color : white;
}*/
.QPushButton{
border-style:none;
border:1px solid #242424;
color:#DCDCDC;
padding:5px;
min-height:15;
min-width : 60;
border-radius:5px;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);
}
QPushButton#pushButton_SettingClose{/*只针对objectName为pushButton_SettingClose 的btn*/image:url(:/16-9/Exit.png);border : 0px ;padding:5px 0;min-width : 30;background: #484848;
}
QPushButton#pushButton_SettingClose:hover{/*当这个objectName的btn 鼠标经过时*/
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);
}
.QPushButton:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 rgb(4,113,206,220),stop:1 rgb(4,113,206,100));
}.QPushButton:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);
}.QPushButton:pressed{ /*btn按下时*/
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #484848,stop:1 #383838);
}
.QPushButton:disabled{background:darkgray;
}QHeaderView::up-arrow{margin: 1px;top: 1px;right: 5px;width: 14px;image: url(:/res/arrow_up.png);
}
QHeaderView::down-arrow{margin: 1px;top: 1px;right: 5px;width: 14px;image: url(:/res/arrow_down.png);
}
/*浮动窗口*/
QDockWidget{color:rgb(230,230,230);/*背景色*/background-color:#343434;
}
/*浮动窗口-子控件弹出-鼠标停靠*/
QDockWidget::float-button:hover{/*背景色*/background-color:#0099ff;
}
/*按钮*/
QPushButton{/*前景色*/color:#e6e6e6;/*背景色*/background-color:rgb(0,153,255);/*边框-圆角*/border-radius:3px;/*字体*/font-family: "Microsoft YaHei";/*字体加粗*/font-weight:bold;/*字体尺寸*/font-size: 12px;/*高度*/height: 20px;    
}
/*按钮-鼠标停靠*/
QPushButton:hover{/*背景色*/background-color:rgb(0,120,215);
}
/*按钮-鼠标按下*/
QPushButton:pressed{/*设置定位元素左外边距边界与其包含块左边界之间的偏移。*/top: 1px;/*设置定位元素的上外边距边界与其包含块上边界之间的偏移。*/left: 1px;
}
/*单行文本编辑*/
QLineEdit{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);/*左内边距*/padding-left: 4px;/*最小宽度 - 1em 等于当前的字体尺寸。*/min-width: 6em;
}
/*单行文本编辑 - 鼠标停靠*/
QLineEdit:hover{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(0,122,204);/*左内边距*/padding-left: 4px;/*最小宽度*/min-width: 6em;
}
/*文本编辑*/
QTextEdit{/*前景色*/color:rgb(0,0,0);
}
/*单选按钮*/
QRadioButton{/*前景色*/color:rgb(230,230,230);/*边框*/border:none;/*字体*/font-family: "Microsoft YaHei";/*字体加粗*/font-weight:bold;/*字体尺寸*/font-size: 12px;
}
/*带文本的复选框*/
QCheckBox{/*前景色*/color:rgb(230,230,230);/*边框*/border:none;/*字体*/font-family: "Microsoft YaHei";/*字体加粗*/font-weight:bold;/*字体尺寸*/font-size: 12px;
}
/*标签*/
QLabel{/*前景色*/color:rgb(230,230,230);/*边框*/border:none;/*字体*/font-family: "Microsoft YaHei";/*字体加粗*/font-weight:bold;/*字体尺寸*/font-size: 12px;
}QTabWidget {border: 0px transparent rgb(0,122,204);
}QTabWidget::pane {border-bottom: 0px transparent rgb(0,122,204);  padding: 5px;    	margin: 0px;
}QTabBar {  border-top: 2px solid rgb(0,122,204);    qproperty-drawBase: 0;	
}QTabBar:focus {border: 0px transparent black;outline: 0px;
}QTabBar::tab:top {color: rgb(230,230,230);    border: 0px transparent rgb(0,122,204);    border-bottom: 1px transparent black;    background-color: rgb(45,45,48);    padding: 5px;    min-width: 50px;        
}
QTabBar::tab:top:selected {color: rgb(230,230,230);    background-color: rgb(0,122,204);    border: 0px transparent rgb(0,122,204);    border-bottom: 2px solid rgb(28,151,234);        
}
QTabBar::tab:top:!selected:hover {background-color: rgb(28,151,234);
}
/* BOTTOM TABS */QTabBar::tab:bottom {color: rgb(230,230,230);   border-top: 2px solid rgb(0,122,204);      background-color: rgb(45,45,48);   padding: 5px;            min-width: 50px;  
}
QTabBar::tab:bottom:selected {    background-color: rgb(0,122,204);          
}
QTabBar::tab:bottom:!selected:hover {background-color: rgb(28,151,234);border-top: 2px solid rgb(0,122,204);
}
/* LEFT TABS */QTabBar::tab:left {color: rgb(230,230,230);    border: 0px transparent rgb(0,122,204);    border-left: 1px transparent black;    background-color: rgb(45,45,48);    padding: 5px;            min-height: 50px;
}
QTabBar::tab:left:selected {color: rgb(230,230,230);    background-color: rgb(0,122,204);    border: 0px transparent rgb(0,122,204);    border-left: 2px solid rgb(28,151,234);        
}
QTabBar::tab:left:!selected:hover {background-color: rgb(28,151,234);
}
/* RIGHT TABS */QTabBar::tab:right {color: rgb(230,230,230);    border: 0px transparent rgb(0,122,204);    border-right: 1px transparent black;    background-color: rgb(45,45,48);    padding: 5px;            min-height: 50px;
}
QTabBar::tab:right:selected {color: rgb(230,230,230);    background-color: rgb(0,122,204);    border: 0px transparent rgb(0,122,204);    border-right: 2px solid rgb(28,151,234);        
}
QTabBar::tab:right:!selected:hover {background-color: rgb(28,151,234);
}QTabBar QToolButton::right-arrow:enabled {image: url(:/qss_icons/rc/right_arrow.png);
}
QTabBar QToolButton::left-arrow:enabled {image: url(:/qss_icons/rc/left_arrow.png);
}
QTabBar QToolButton::right-arrow:disabled {image: url(:/qss_icons/rc/right_arrow_disabled.png);
}
QTabBar QToolButton::left-arrow:disabled {image: url(:/qss_icons/rc/left_arrow_disabled.png);
}
/*菜单栏*/
QMenuBar {/*前景色*/color: rgb(230,230,230);/*背景色*/background-color: rgb(49,54,59);    
}
/*菜单栏-子项目*/
QMenuBar::item {/*背景透明*/background: transparent;
}
/*菜单栏-子项目-选中*/
QMenuBar::item:selected {/*背景透明*/background: transparent; /*边框*/border: 1px solid rgb(118,121,124);
}
/*菜单栏-子项目-按下*/
QMenuBar::item:pressed {
/*菜单*//*前景色*/color: #eff0f1;/*背景色*/background-color: #3daee9;/*边框*/border: 1px solid #76797C;/*外边距-底部*/margin-bottom: -1px;/*内边距-底部*/padding-bottom: 1px;
}
QMenu {/*前景色*/color: #eff0f1;/*背景色*/background-color: #3daee9;/*边框*/border: 0px solid #76797C;/*外边距*/margin: 1px;
}
/*菜单-图标*/
QMenu::icon {/*边距*/margin: 5px;
}
/*菜单-子项目*/
QMenu::item {/*背景色*/background-color:rgb(44,44,44);/*边框*/border: 1px solid transparent; /*内边距*/padding: 5px 30px 5px 30px;
}
/*菜单-子项目-选中*/
QMenu::item:selected {/*前景色*/color: #eff0f1;
}
/*菜单-分割线*/
QMenu::separator {/*背景*/background: lightblue;/*高度*/height: 1px; /*内边距-左*/margin-left: 10px;/*内边距-右*/	margin-right: 5px;
}
/*菜单-指示器*/
QMenu::indicator {/*宽度*/width: 18px;    /*高度*/height: 18px;
}
/*数据表格*/
QTableWidget{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(35,35,35);/*网格线的颜色*/gridline-color:rgb(50,50,50);/*边框*/border:1px solid rgb(50,50,50);
}
/*数据表格-子项目-选中*/
QTableWidget::item::selected{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(0,112,204);
}
/*数据表格-子项目-焦点*/
QTableWidget::item::focus{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(255,112,204);
}
/*数据表格-表头*/
QTableWidget QHeaderView::section{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(30,30,30);/*边框*/border:1px solid rgb(50,50,50);/*边框-左*/border-left:0px;	/*边框-底部*/border-bottom:1px solid rgb(50,50,50);/*高度*/height:30;
}
/*数据表格-子项目-鼠标停留*/
QTableWidget::item:hover{
}
/*表右侧的滑条*/
QScrollBar:vertical{
}
/*滑块*/
QScrollBar::handle:vertical{
}
/*滑块悬浮*/
QScrollBar::handle:hover:vertical{
}
/*滑块按下*/
QScrollBar::handle:pressed:vertical{
}
/*滑块已经划过的区域*/
QScrollBar::sub-page:vertical{
}
/*滑块还没有划过的区域*/
QScrollBar::add-page:vertical{
}
/*微调框*/
QSpinBox,QDoubleSpinBox{/*前景色*/color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);/*内边距-左*/padding-left: 4px;/*最小宽度*//*min-width: 6em;*/
}
/*微调框*/
QSpinBox:hover,QDoubleSpinBox:hover{/*边框*/border: 1px solid rgb(0,122,204);
}
/*微调框-向上、向下按钮*/
QSpinBox::up-button,
QSpinBox::down-button,
QDoubleSpinBox::up-button,
QDoubleSpinBox::down-button{/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);
}
/*微调框-向上、向下按钮-按下*/
QSpinBox::up-button:pressed,
QSpinBox::down-button:pressed,
QDoubleSpinBox::up-button:pressed,
QDoubleSpinBox::down-button:pressed{/*背景色*/background-color:rgb(0,122,204);/*边框*/border: 1px solid rgb(0,122,204);
}
/*微调框-向上箭头*/
QSpinBox::up-arrow,
QDoubleSpinBox::up-arrow{/*宽度*/width: 7px;/*高度*/height: 3px;/*背景图片*/background-image: url(:/TradeClient/Resources/up_Arrow.png);
}
/*微调框-向下箭头*/
QSpinBox::down-arrow,
QDoubleSpinBox::down-arrow{/*宽度*/width: 7px;/*高度*/height: 3px;/*背景图片*/background-image: url(:/TradeClient/Resources/down_Arrow.png);
}
/*群组框*/
QGroupBox{/*最小高度*/min-height:35px;/*前景色*/color:rgb(230,230,230);/*边框*/border: 1px solid rgb(67,67,70);/*外边距-顶部*/margin-top: 6px;/*字体*/font-family: "Microsoft YaHei";/*字体加粗*/font-weight:bold;/*字体尺寸*/font-size: 12px;
}
/*群组框-标题*/
QGroupBox::title{subcontrol-origin: margin;subcontrol-position: top left;left:10px;     margin-left: 0px;padding:0 1px;   
}
/*下拉框*/
QComboBox{color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);/*内边距-左*/padding-left: 4px;
}
/*下拉框 - 鼠标停留*/
QComboBox:hover{/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(0,122,204);/*内边距-左*/padding-left: 4px;
}
/*下拉框 - 下拉按钮*/
QComboBox::drop-down {/*边框*/border: 0px solid rgb(67,67,70);/*背景色*/background-color:rgb(51,51,55);/*内边距 - 左*/padding-left: 4px;subcontrol-origin: padding;subcontrol-position: top right;/*宽度*/width: 15px;
}
/*下拉框 - 下拉按钮 - 展开的状态*/
QComboBox::drop-down:on
{/*边框*/border: 0px solid rgb(67,67,70);/*背景色*/background-color:rgb(51,51,255);/*内边距- 左*/padding-left: 4px;subcontrol-origin: padding;subcontrol-position: top right;/*宽度*/width: 15px;
}
/*下拉框-下拉箭头*/
QComboBox::down-arrow {/*宽度*/width: 11px;/*高度*/height: 5px;left: -2px;/*背景图片*/background-image:url(:/TradeClient/Resources/combobox_arrow.png);
}
/*下拉框-下拉箭头-展开状态*/
QComboBox::down-arrow:on { top: 1px;left: -1px;
}
/*下拉框-下拉列表*/
QComboBox QAbstractItemView {/*前景色*/color:rgb(230,230,230);/*背景颜色*/background-color:rgb(27,27,28);/*选中时背景颜色*/selection-background-color: rgb(63,63,70);/*边框*/border: 0px solid darkgray;outline: 0px;
}
/*下拉框-下拉列表-子项目*/
QComboBox QAbstractItemView::item {border: 0px;  min-height: 25px;
}
/*下拉框-下拉列表-子项目 - 选中*/
QComboBox QAbstractItemView::item::selected {background-color: rgb(63,63,70);min-height: 30px;
}
/*日期编辑框*/
QDateEdit{color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);/*内边距-左*/padding-left: 4px;
}
/*日期编辑框*/
QDateEdit:hover,QDateTimeEdit:hover{/*边框*/border: 1px solid rgb(0,122,204);
}
/*日期编辑框-下拉箭头*/
QDateEdit::down-arrow
{/*宽度*/width: 11px;/*高度*/height: 5px;left: -2px;/*背景图片*/background-image:url(:/TradeClient/Resources/combobox_arrow.png);
}
/*日期编辑框-下拉箭头- 展开状态*/
QDateEdit::down-arrow:on 
{ top: 1px;left: -1px;
}
/*日期编辑框-右侧按钮*/
QDateEdit::drop-down 
{color:rgb(230,230,230);/*背景色*/background-color:rgb(51, 51, 55);/*边框*/border:0px solid rgb(0,122,204);/*内边距-左*/padding-left:4px;subcontrol-origin: padding;subcontrol-position: top right;/*宽度*/width:15px;
}
/*日期时间编辑框*/
QDateTimeEdit
{color:rgb(230,230,230);/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);/*内边距-左*/padding-left: 4px;
}
/*日期时间编辑框 - 向上、向下按钮*/
QDateTimeEdit::up-button,
QDateTimeEdit::down-button
{/*背景色*/background-color:rgb(51,51,55);/*边框*/border: 1px solid rgb(67,67,70);
}
/*日期时间编辑框 - 向上、向下按钮-按下*/
QtDateTimeEdit::up-button:pressed,
QtDateTimeEdit::down-button:pressed
{/*背景色*/background-color:rgb(0,122,204);/*边框*/border: 1px solid rgb(0,122,204);
}
/*日期时间编辑框 - 向上箭头*/
QtDateTimeEdit::up-arrow
{/*宽度*/width: 7px;/*高度*/height: 3px;/*背景图片*/background-image: url(:/TradeClient/Resources/up_Arrow.png);
}
/*日期时间编辑框 - 向下箭头*/
QtDateTimeEdit::down-arrow
{/*宽度*/width: 7px;/*高度*/height: 3px;/*背景图片*/background-image: url(:/TradeClient/Resources/down_Arrow.png);
}
QPushButton#title_max[maximizeProperty=false]
{width: 40px;height: 40px;background: transparent;border-image: url("://img/title/btn_max_normal.png")
}
QPushButton#title_max[maximizeProperty=false]:hover
{border-image: url("://img/title/btn_max_hover.png")
}
QPushButton#title_max[maximizeProperty=true]
{width: 40px;height: 40px;background: transparent;border-image: url(":/img/title/btn_maxTonormal_normal.png")
}
QPushButton#title_max[maximizeProperty=true]:hover
{border-image: url(":/img/title/btn_maxTonormal_hover.png")
}

原始属性

任何被Q_PROPERTY声明的属性都能在QSS中使用qproperty-<property name>语法进行设置。

以QToolButton为例,QToolButton继承至QAbstractButton,QAbstractButton拥有以下被Q_PROPERTY声明的属性,子类也可通过QSS使用父类中被Q_PROPERTY声明的属性,如下,text、icon、iconSize等属性均可在QSS中使用。

class Q_WIDGETS_EXPORT QAbstractButton : public QWidget
{Q_OBJECTQ_PROPERTY(QString text READ text WRITE setText)Q_PROPERTY(QIcon icon READ icon WRITE setIcon)Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
#ifndef QT_NO_SHORTCUTQ_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut)
#endifQ_PROPERTY(bool checkable READ isCheckable WRITE setCheckable)Q_PROPERTY(bool checked READ isChecked WRITE setChecked DESIGNABLE isCheckable NOTIFY toggled USER true)Q_PROPERTY(bool autoRepeat READ autoRepeat WRITE setAutoRepeat)Q_PROPERTY(bool autoExclusive READ autoExclusive WRITE setAutoExclusive)Q_PROPERTY(int autoRepeatDelay READ autoRepeatDelay WRITE setAutoRepeatDelay)Q_PROPERTY(int autoRepeatInterval READ autoRepeatInterval WRITE setAutoRepeatInterval)Q_PROPERTY(bool down READ isDown WRITE setDown DESIGNABLE false)//.......
}

QToolButton

QToolButton
{ qproperty-text: "QSS使用属性1";qproperty-icon: url(://img/cat.png);qproperty-iconSize: 121px 121px;
}
  QToolButton { /* all types of tool button */border: 2px solid #8f8f91;border-radius: 6px;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #f6f7fa, stop: 1 #dadbde);}QToolButton[popupMode="1"] { /* only for MenuButtonPopup */padding-right: 20px; /* make way for the popup button */}QToolButton:pressed {background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #dadbde, stop: 1 #f6f7fa);}/* the subcontrols below are used only in the MenuButtonPopup mode *///只对 弹出方式为 MenuButtonPopup 的QToolButton有效QToolButton::menu-button {border: 2px solid gray;border-top-right-radius: 6px;border-bottom-right-radius: 6px;/* 16px width + 4px for border = 20px allocated above */width: 16px;}QToolButton::menu-arrow {image: url(downarrow.png);}

QMenu

/*Qmenu Style Sheets*/
QMenu {background-color: white; /* sets background of the menu 设置整个菜单区域的背景色,我用的是白色:white*/border: 1px solid white;/*整个菜单区域的边框粗细、样式、颜色*/
}
QMenu::item {/* sets background of menu item. set this to something non-transparent  if you want menu color and menu item color to be different */background-color: transparent;padding:8px 32px;/*设置菜单项文字上下和左右的内边距,效果就是菜单中的条目左右上下有了间隔*/margin:0px 8px;/*设置菜单项的外边距*/border-bottom:1px solid #DBDBDB;/*为菜单项之间添加横线间隔*/
}
QMenu::item:selected { /* when user selects item using mouse or keyboard */background-color: #2dabf9;/*这一句是设置菜单项鼠标经过选中的样式*/
}

QSlider

//水平方向
QSlider::groove:horizontal {
border: 1px solid #4A708B;
background: #C0C0C0;
height: 5px;
border-radius: 1px;
padding-left:-1px;
padding-right:-1px;
}QSlider::sub-page:horizontal {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4);
background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1,stop: 0 #5DCCFF, stop: 1 #1874CD);
border: 1px solid #4A708B;
height: 10px;
border-radius: 2px;
}QSlider::add-page:horizontal {
background: #575757;
border: 0px solid #777;
height: 10px;
border-radius: 2px;
}QSlider::handle:horizontal 
{background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #45ADED, stop:0.778409 rgba(255, 255, 255, 255));width: 11px;margin-top: -3px;margin-bottom: -3px;border-radius: 5px;
}QSlider::handle:horizontal:hover {background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #2A8BDA, stop:0.778409 rgba(255, 255, 255, 255));width: 11px;margin-top: -3px;margin-bottom: -3px;border-radius: 5px;
}QSlider::sub-page:horizontal:disabled {
background: #00009C;
border-color: #999;
}QSlider::add-page:horizontal:disabled {
background: #eee;
border-color: #999;
}QSlider::handle:horizontal:disabled {
background: #eee;
border: 1px solid #aaa;
border-radius: 4px;
}

QScrollBar

QScrollBar:vertical/*垂直滚动条整个区域*/
{padding:8px 0px 8px 0px;/*预留出的上下两个按钮的空间*/background-color:red;min-width:10px;max-width:10px;
}
QScrollBar::handle:vertical/*垂直滚动条 中间滑块*/
{min-width:10px;max-width:10px;background-color:yellow; }QScrollBar::add-line:vertical/*滑块下方点击按钮*/{min-height:20px;max-height:20px;background-color:rgb(0,255,255); }QScrollBar::sub-line:vertical/*滑块上方点击按钮*/{min-height:20px;max-height:20px;background-color:rgb(0,255,255); }QScrollBar::add-page:vertical/*滑块下方按钮到滑块下方区域*/{min-height:20px;max-height:20px;background-color:rgb(0,255,0); }QScrollBar::sub-page:vertical/*滑块上方按钮到滑块上方区域*/{min-height:20px;max-height:20px;background-color:rgb(0,255,255); }//垂直方向QSlider::groove:vertical {
border: 1px solid #4A708B;
background: #C0C0C0;
width: 5px;
border-radius: 1px;
padding-left:-1px;
padding-right:-1px;
padding-top:-1px;
padding-bottom:-1px;
}QSlider::sub-page:vertical {
background: #575757;
border: 1px solid #4A708B;
border-radius: 2px;
}QSlider::add-page:vertical {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #c4c4c4, stop:1 #B1B1B1);
background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1,stop: 0 #5DCCFF, stop: 1 #1874CD);
border: 0px solid #777;
width: 10px;
border-radius: 2px;
}QSlider::handle:vertical 
{background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #45ADED, 
<span>	</span>stop:0.778409 rgba(255, 255, 255, 255));height: 11px;margin-left: -3px;margin-right: -3px;border-radius: 5px;
}QSlider::sub-page:vertical:disabled {
background: #00009C;
border-color: #999;
}QSlider::add-page:vertical:disabled {
background: #eee;
border-color: #999;
}QSlider::handle:vertical:disabled {
background: #eee;
border: 1px solid #aaa;
border-radius: 4px;
}
QScrollBar:horizontal
{padding:0px 8px 0px 8px;background-color:red;min-height:10px;max-height:10px;
}
QScrollBar::handle:horizontal
{min-height:10px;max-height:10px;background-color:rgb(152,152,1); }QScrollBar::add-line:horizontal{min-width:20px;max-width:20px;background-color:rgb(255,0,0); }QScrollBar::sub-line:horizontal{min-width:20px;max-width:20px;background-color:rgb(255,0,0); }QScrollBar::add-page:horizontal{min-height:20px;max-height:20px;background-color:rgb(0,255,0); }QScrollBar::sub-page:horizontal{min-height:20px;max-height:20px;background-color:rgb(0,255,255); }

QCheckBox

QCheckBox::indicator   /*QCheckBox可勾选区域*/
{width:20px;height:16px;
}
QCheckBox::indicator:checked /*QCheckBox勾选*/
{border-image:url(image/selected.png);
}
QCheckBox::indicator:unchecked /*QCheckBox未勾选*/
{border-image:url(image/unSelect.png);
}
QCheckBox::indicator:indeterminate  /*QCheckBox半勾选*/
{background-color:red;
}

QComboBox
QTabWidget

QTabBar::tab  /*tab页的颜色*/
{color:red;background-color:yellow;}QTabBar::tab:hover{background-color:red;}QTabBar::tab:selected/*当前选择的tab页*/{background-color:white;}QTabWidget:pane /*QTabWidget 中间窗体的背景色*/
{border:none;   }

QTableView

QTableView {color: white;                                       /*表格内文字颜色*/gridline-color: black;                              /*表格内框颜色*/background-color: rgb(108, 108, 108);               /*表格内背景色*/alternate-background-color: rgb(64, 64, 64);selection-color: white;                             /*选中区域的文字颜色*/selection-background-color: rgb(77, 77, 77);        /*选中区域的背景色*/border: 2px groove gray;border-radius: 0px;padding: 2px 4px;
}

QCalendarWidget

QCalendarWidget QTableView
{color:#ffffff;    alternate-background-color:#3275d4;background-color:#3275d4;
}
QCalendarWidget QTableView
{selection-color: yellow;selection-background-color: rgb(77, 77, 77);}QToolButton#qt_calendar_nextmonth 
{background-color:red;
}QToolButton#qt_calendar_prevmonth
{background-color:red;
}QToolButton#qt_calendar_monthbutton
{background-color:yellow;}QToolButton#qt_calendar_yearbutton 
{background-color:rgb(0,255,255);}QSpinBox#qt_calendar_yearedit
{background-color:#3275d4;color:yellow;} QWidget#qt_calendar_navigationbar{color:yellow;background-color:yellow;}

QSpinBox

QSpinBox::up-button/*右侧上方点击按钮*/
{}
QSpinBox::down-button/*右侧下方点击按钮*/
{}
QSpinBox::up-arrow/*右侧上方点击按钮中的小三角区域*/
{}
QSpinBox::down-arrow/*右侧下方点击按钮中的小三角区域*/
{}
QPushButton::menu-indicator{image:None;}
QPushButton:focus{padding: -5;}
QMenuBar
{background-image: url(./images/background_main_top.png);
}
QTreeWidget#treeWidget
{background-image: url(./images/background_main_left.png);padding-top:5px;
}
QFrame#frame
{background-image: url(./images/background.png);border: 0px;
}
QFrame#frame_3
{background-image: url(./images/background.png);border: 0px;
}QPushButton#pushButton_1
{background-image: url(./images/btn_1.png);background-color: transparent;border: 0px;
}
QPushButton#pushButton_1:hover{background-image: url(./images/btn_1_hover.png);border: 0px;
}
QPushButton#pushButton_1:checked{background-image: url(:/res/image/11.png);border: 0px;
}QPushButton#pushButton_10{background-image: url(./images/btn_10.png);background-color: transparent;border: 0px;
}
QPushButton#pushButton_10:hover{background-image: url(./images/btn_10_hover.png);border: 0px;
}
QPushButton#pushButton_10:checked{background-image: url(:/res/image/22.png);border: 0px;
}

4、分类示例

4.1 QPushButton

QPushButton图标和文本的位置

QPushButton{background-color: #2786ba;				/* 背景颜色 */border-radius:5px;					    /* 按钮边框的圆角设置 *//* 按钮背景图标设置 */background-image: url(:/configIcon.png);  /* 背景图片 */background-origin: content;background-position: center;			/* 背景图片的位置 */padding-right: 40px;				    /* 背景图标的padding参数 */padding-bottom: 2px;					/* 背景图标的padding参数 */background-repeat: no-repeat;			/* 设置背景图像的平铺模式 *//* 按钮文本设置 */text-align: top;						/* 文本的位置 */padding-left: 2px;						/* 文本的padding参数 */		padding-top: 2px;font-size: 12px;color: #FFFFFF;							/* 文本颜色 */
}

4.2 QTabWidget

QTabWidget扁平样式

4.3 QTableWidget

QTablewidget只显示横分割线,不显示竖分割线

ui->tableWidget->setShowGrid(false);
ui->tableWidget->setStyleSheet(	"QTableWidget::Item{border:0px solid rgb(255,0,0);""border-bottom:1px solid rgb(255,0,0);}"
);

4.4 QGroupBox

 groupBox->setStyleSheet("QGroupBox {border-width:1px;border-style:solid;border-color:lightGray;margin-top:1.5ex;}"\"QGroupBox::title{subcontrol-origin:margin;subcontrol-position:top left;left:7px;margin-left: 0px;padding:0.1px;}");

http://chatgpt.dhexx.cn/article/Zukh6Qv6.shtml

相关文章

QSS属性大全

1、选择器 1.1、通用选择器 /* 格式&#xff1a;* { 属性: 值; } 通用选择器一般用来给应用程序设置统一的字体&#xff0c;大小&#xff0c;颜色等 */ * {font-family: "Microsoft YaHei";outline: 0px;color: #DCDCDC; }1.2、类型选择器 /* 格式&#xff1a; 类…

Qt之QSS使用与基本语法

一、QSS介绍 QSS是一种从CSS借鉴过来的机制&#xff0c;用来实现对控件外观的自定义。但是它比CSS功能要弱化一些&#xff0c;有一些属性和选择器&#xff0c;QSS并没有。 Qt中的各个控件可以使用QSS来实现界面的个性化定制、美化&#xff0c;使用起来也是特别方便的。 二、Q…

QTreeWidget样式qss

文章目录 QTreeWidget/QTreeView样式QHeaderView背景属性alternate-background-color&#xff1a;交替背景色background&#xff1a;背景属性background-color&#xff1a;控件的背景色background-image&#xff1a;用于控件的背景图像。如果图像有透明部分则显示透明部分。bac…

qss文件使用

每个控件提供的样式太少&#xff1f;只能简单的设置颜色、字体颜色、字体大小&#xff1f;每次设置都要输入好长一串好麻烦&#xff1f; 现在你只要写一段qss就能满足你的一切需求&#xff0c;实现效果如下 本文将从下面三个方向慢慢阐述qss的使用 1、如何使用qss 2、如何修…

QSS 基础

如果你会 CSS&#xff0c;那么 QSS 对你来说将会非常简单&#xff0c;QSS 的语法和 CSS 的愈发非常相似&#xff0c;但也有些不同&#xff0c;有些 CSS 的东西在 QSS 里被去掉了&#xff0c;QSS 也加了些自己特有的东西&#xff0c;不过大多数还是差不多的&#xff0c;下面以修…

Qt QSS使用

一、选择器类型 Qt QSS选择器和CSS2、CSS3的选择器类似&#xff0c;建议先学习或者复习一下CSS选择器的语法。QSS虽然和CSS类型&#xff0c;但有也稍许不同&#xff0c;而且支持的语法也没那么多&#xff0c;具体讲解如下。 1.1 类选择器 /* 匹配QPushButton的实例及其子类 …

QSS 介绍

目录 一、自定义 widget 的两种方式二、一个简单示例三、QSS 比 QPalette 强大四、使用 Qt Designer 方便查看 qss 效果 一、自定义 widget 的两种方式 自定义 widget 外观的方式有两种&#xff1a; 子类化 QStyle&#xff1b;使用 Qt Style Sheets 机制&#xff1b; Qt Sty…

学习QSS样式表

文章目录 一、 什么是QSS二、辅助工具三、Qt样式表设置函数&#xff1a;setStyleSheet四、Qss选择器1、通用选择器2、类型选择器3、类选择器4、ID选择器5、后代选择器6、子元素选择器7、属性选择器8、并集选择器9、子控件选择器10、伪类选择器11、选择器的匹配规则 五、QSS常用…

QSS自定义属性

1.基本使用 &#xff08;参见 Qt 文档页章节 Setting QObject Properties&#xff1a;https://doc.qt.io/qt-5/stylesheet-syntax.html&#xff09; 从 Qt 4.3 及更高版本开始&#xff0c;可以使用 qproperty- <属性名称> 语法设置任何 designable 的 Q_PROPERTY &…

QSS

摘自&#xff1a;https://qtdebug.com/qtbook-qss/ Qt 提供的 widget 的默认外观很多时候都不符合项目的界面需求&#xff0c;必须要改&#xff0c;修改一个 widget 的外观&#xff08;Look and Feel&#xff09;有以下的方法&#xff1a; 继承 Widget&#xff0c;然后在 pai…

QSS 语法

目录 1. 基本语法1.1 样式规则1.2 选择器、声明1.3 大小写1.4 多个选择器 2. 选择器2.1 通用选择器&#xff1a;*2.2 类型选择器&#xff1a;QPushButton2.3 属性选择器&#xff1a;QPushButton[flat"false"]2.4 类选择器&#xff1a;.QPushButton2.5 ID 选择器&…

QSS(Qt样式表)概念

Qt样式表是一个可以自定义部件外观的十分强大的机制&#xff0c;除了QStyle更改的样式&#xff0c;其他的都可以由QSS修改。由于受到Html的CSS启发&#xff0c;所以叫QSS。 代码添加样式表ui界面上添加样式表 代码添加样式表&#xff1a; setStyleSheet&#xff08;&#xff0…

【QT】QSS使用总结

文章目录 主要流程&#xff1a;导入QSS文件&#xff1a;1. 添加Qt Resource File文件&#xff0c;输入名称2. 在工程文件目录下先建一个".txt"文件&#xff0c;重新命名后缀为".qss"3. 右键添加现有文件qss.qss4. 完成添加5. 将 qss样式应用到整个工程 QSS…

01_1_Qt工程实践_Qt样式表Qss(什么是QSS;基本语法;setStyleSheet函数;样式表的属性值;利用QtCreate实现样式切换;样式表实现皮肤改变实例)

本篇介绍什么是样式表&#xff0c;讨论如何使用Qt样式表Qss修改应用程序外观&#xff0c;并通过实例进行讲解。 了解HTML的同学都知道&#xff0c;一般在HTML中我们把样式表叫做CSS&#xff0c;在Qt中我们称之为QSS。QSS和CSS并不完全等同&#xff0c;语法完全类似&#xff0c…

【QT】QSS美化——基础知识

目录 一、辅助工具 二、QSS加载方式 三、QSS选择器类型 3.1 通配选择器 3.2 类型选择器 3.3 属性选择器 3.4 类选择器 3.5 ID选择器 3.6 后代选择器 3.7 子选择器 3.8 伪类选择器 四、QSS常用属性 4.1 字体 4.2 颜色 4.3 内边距 4.4 外边距 4.5 背景 4.6 边框…

在没有QQ、微信时局域网共享文件方法

1、首先开启共享 2、将要共享文件的电脑做同样操作 查看局域网下电脑 点击要访问的电脑输入该电脑的账号密码进行登录。 3、选择要共享的文件和访问权限 在要共享文件的电脑选择要共享的文件右键-授予访问权限-家庭组 然后选特定用户-everyone即可。 之后就是在这个文件里面…

分享:我的局域网QQ Bing(必应)1.0 正式发布,包括:聊天、视频、语音、电话、截屏、文件传输 等

分享&#xff1a;我的局域网QQ Bing&#xff08;必应&#xff09;1.0 正式发布,包括&#xff1a;聊天、视频、语音、电话、截屏、文件传输 等 百万商业圈 局域网QQ Bing&#xff08;必应&#xff09;1.0 正式发布 Bing&#xff08;必应&#xff09;是一款优秀的企业局域网即时…

交换机组建局域网

说来惭愧&#xff0c;今天才搞明白用交换机组建局域网的原理&#xff0c;这里介绍方法&#xff1a; 平时使用的路由器有交换机的功能&#xff0c;单纯使用交换机还是第一次&#xff1a; 1、将所有电bai脑连到同一台交换机上&#xff0c;du即将各台电zhi脑的网线插入同一dao台交…

基于JAVA的局域网聊天软件的设计与实现(仿制QQ)

一、系统分析 1.1 问题描述 客户端 实现简易版的局域网聊天器实现富文本内容聊天智能聊天机器人群发消息传送文件等功能 服务器端 实现群发通知管理聊天线程 1.2 系统功能分析 客户端功能 登陆注册发送表情消息发送文本消息截取图片图片处理震动效果发送文件群发消息设置聊天…

通过交换机组建局域网

实现目标&#xff1a;利用交换机搭建一个局域网&#xff0c;使得该局域网下同一网段的所有机器相互通信 所需设备&#xff1a;电脑一台&#xff0c;树莓派两个&#xff0c;工控机两台&#xff0c;TP-Link交换机一台。 该教程就以一台电脑和一台树莓派搭建局域网为一个demo&am…