自定义QSS
1、常用
QPushButton{ min-width:75px; max-width:75px; min-height:20px; border:1px solid black; border-radius:5px; } QPushButton:hover{ background-color: #333333; border-color: #444444; color:rgb(255,255,255); } QPushButton:pressed{ background-color: #111111; border-color: #333333; color: yellow; } QGroupBox { border: 1px solid #E5E5E5; border-radius: 5px; margin-top: 1ex; background-color: rgb(245, 245, 245); } QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top center; padding: 0 8px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #CDCDCD, stop: 1 #FFFFFF); } QLineEdit{ min-width:50px; max-width:50px; border: 1px solid gray; border-radius: 3px; padding: 0 8px; background: #F5F5F5; selection-background-color: darkgray; border-color:#000000; } QTableWidget{ background:#FFFFFF; border:none; font-size:12px; font-family:"Microsoft YaHei"; color:#000000; } QTableWidget::item::selected{ color:red; background:#EFF4FF; } QScrollBar:vertical{ width:12px; background:rgb(0,0,0); border:1px solid rgba(0,0,0,50); margin:0px,0px,0px,0px; padding-top:0px; padding-bottom:0px; border-radius:4px; } QScrollBar::handle:vertical{ width:12px; background:rgb(194,201,215); border-radius:4px; } QScrollBar::handle:vertical:hover{ background:rgb(0,0,0); } QScrollBar::sub-line:vertical{ background:transparent; } QScrollBar::add-line:vertical{ background:transparent; } QScrollBar::add-page:vertical{ background:rgb(255,255,255); } QScrollBar::sub-page:vertical{ background:rgb(255,255,255); } QHeaderView::section { background: #D6DBE9; border: 0; color: #FFFFFF; border: 1px solid #6c6c6c; padding: 3px 3px 3px 3px; } QTabWidget::tab-bar { alignment: left; } QTabWidget::pane { border-top: 2px solid #C2C7CB; } QTabBar::tab:selected { margin-top:0px; border-color: #9B9B9B; border-bottom-color: #C2C7CB; } QTabBar::tab:!selected { margin-top: 2px; } QTabBar::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ??stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, ??stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); border: 2px solid #C4C4C3; border-bottom-color: #C2C7CB; border-top-left-radius: 4px; border-top-right-radius: 4px; min-width: 8ex; padding: 2px; } QWidget{ background-color:#F5F5F5; } QCheckBox::indicator{ width: 13px; height: 13px; background-color: #00FF00; border: 1px solid #000000; border-radius:4px; } QCheckBox::indicator::checked{ background-color: qradialgradient(cx:0.5, cy:0.5, fx:0.25, fy:0.15, radius:0.3, stop:0 #FF0000, stop:1 #FFFFFF); } QTextEdit{ border: 1px solid gray; border-radius: 5px; } QToolTip{ border:1px solid rgb(118, 118, 118); background-color: #ffffff; color:#484848; font-size:12px; }
/*MainWindow设置背景图,为了防止不干扰其他控件,需要指定背景图只作用于MawinWindow*/
#MainWindow{background-image: url(:/new/prefix1/log1.jpg);}
2、登录界面

qss:
#Login{background-image: url(:/new/prefix1/timg1.jpg);}
QCheckBox::indicator{
width: 13px;
height: 13px;
background-color: #00FF00;
border: 1px solid #000000;
border-radius:4px;
}
QLineEdit {
min-width:200px;
min-height:25px;
border: 1px solid rgb(41, 57, 85);
border-radius: 3px;
background: white;
selection-background-color: blue;
font-size: 14px ;
}
QLineEdit:hover {
border: 1px solid yellow;
}
QPushButton{
border-radius: 4px;
border: none;
min-width: 75px;
min-height: 35px;
}
QPushButton:enabled {
background: rgb(68, 69, 73);
color: white;
}
QPushButton:!enabled {
background: rgb(100, 100, 100);
color: rgb(200, 200, 200);
}
QPushButton:enabled:hover{
background: rgb(85, 85, 85);
}
QPushButton:enabled:pressed{
background: rgb(80, 80, 80);
}
3、QMenu
sysMenu->setStyleSheet("QMenu {background-color:rgb(89,87,87); border: 3px solid rgb(235,110,36);}\ QMenu::item{font - size: 10pt;color: rgb(225, 225, 225);border: 3px solid rgb(60, 60, 60);\ background - color:rgb(89, 87, 87);padding:16px 16px;margin:2px 2px;}\ QMenu::item:selected{background - color:rgb(235, 110, 36);}\ QMenu::item:pressed{border: 1px solid rgb(60, 60, 61);background - color: rgb(220, 80, 6); }");

4、蓝色风格QTableWidget
/*tabelwidget*/ QTableWidget{ text-align:center; color:#E4D625; background:#31419B; border:1px solid #242424; alternate-background-color:#B3C6E7;/*交错颜色*/ gridline-color:#242424; } /*选中item*/ QTableWidget::item:selected{ color:black; background:#B3C6E7; } /* 悬浮item QTableWidget::item:hover{ background:#FFFFFF; }*/ /*表头*/ QHeaderView::section{ text-align:center; background:#021482; font:15pt; padding:3px; margin:0px; color:white; border:1px solid #242424; border-left-width:0; } /*表右侧的滑条*/ QScrollBar:vertical{ background:#484848; padding:0px; border-radius:6px; max-width:12px; } /*滑块*/ QScrollBar::handle:vertical{ background:#CCCCCC; } /* 滑块悬浮,按下*/ QScrollBar::handle:hover:vertical,QScrollBar::handle:pressed:vertical{ background:#A7A7A7; } /* 滑块已经划过的区域*/ QScrollBar::sub-page:vertical{ background:444444; } /* 滑块还没有划过的区域*/ QScrollBar::add-page:vertical{ background:5B5B5B; } /*页面下移的按钮*/ QScrollBar::add-line:vertical{ background:none; } /*页面上移的按钮*/ QScrollBar::sub-line:vertical{ background:none; }

设置代码可实现居中:
int row = ui->tableWidget->rowCount(); int columns = ui->tableWidget->columnCount(); for (int i=0;i<row;i++) { for (int j=0;j<columns;j++) { ui->tableWidget->item(i,j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); } }
5、设置点击之后没有虚线
outline:0px
6、将文件中的qss设置到Qt中
QFile qss(":/qss/style.qss");//设置qss文件打开路径 qss.open(QFile::ReadOnly);//只读,打开qss文件 if(qss.isOpen()) { this->setStyleSheet(qss.readAll());//如果打开成功,设置样式 qss.close();//关闭qss文件 }
7、深蓝色主题
QLabel{ background-color: #000C3C; color: white; } QLineEdit{ font:12pt; qproperty-alignment:AlignHCenter; background-color: #E5E6EB; color: #338ED0; }
QComboBox QAbstractItemView { border: 1px solid rgb(161,161,161); } QComboBox QAbstractItemView::item { height: 24px; } QComboBox QAbstractItemView::item:selected { background-color: rgba(247, 119, 84); } QComboBox { font-family:'Microsoft YaHei'; font-size:15px; } /*tabelwidget*/ QTableWidget{ outline:0px; text-align:center; color:#DDDDDD; background:#000C3C; border:0px solid #242424; alternate-background-color:#B3C6E7;/*交错颜色*/ gridline-color:#B0B0C9; } /*选中item*/ QTableWidget::item:selected{ background:#31419B; } /* 悬浮item QTableWidget::item:hover{ background:#FFFFFF; }*/ /*表头*/ QHeaderView::section{ text-align:center; background:#366092; font:12pt; padding:3px; margin:0px; color:#DDDDDD; border:1px solid #242424; border-left-width:0; } /*表右侧的滑条*/ QScrollBar:vertical{ background:#484848; padding:0px; border-radius:6px; max-width:12px; } /*滑块*/ QScrollBar::handle:vertical{ background:#CCCCCC; } /* 滑块悬浮,按下*/ QScrollBar::handle:hover:vertical,QScrollBar::handle:pressed:vertical{ background:#A7A7A7; } /* 滑块已经划过的区域*/ QScrollBar::sub-page:vertical{ background:444444; } /* 滑块还没有划过的区域*/ QScrollBar::add-page:vertical{ background:5B5B5B; } /*页面下移的按钮*/ QScrollBar::add-line:vertical{ background:none; } /*页面上移的按钮*/ QScrollBar::sub-line:vertical{ background:none; } QGroupBox { font-family:'宋体'; font-size: 15px; border: 1px solid #052153; border-radius: 10px; margin-top: 2ex; } QGroupBox::title { color:#DDDDDD; subcontrol-origin: margin; subcontrol-position: top center; padding: 2px 8px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #366092, stop: 1 #000C3C); } /*QMenu*/ QMenu { background-color: #3379B7; border: 1px solid white; } /*QDialog*/ QDialog{ background:#3379B7; } /*QTextEdit*/ QTextEdit { font-size: 18px; font-family:'宋体'; background-color:#222648; border:0px; } /*QTreeWidget*/ QTreeWidget{ background-color: #222648; font-size:15px; color: white; outline:0px; } QTreeWidget::item{ margin:13px; background: #222648; background-clip: margin; } QTreeWidget::branch{ background:#222648; } QTreeView::item:hover { background: rgb(69, 187, 217);; } QTreeView::item:selected:active{ background: rgb(63, 147, 168); } QTreeView::item:selected:!active { background: rgb(63, 147, 168); } QTreeWidget::branch:closed:has-children:!has-siblings,QTreeWidget::branch:closed:has-children:has-siblings { border-image: none; image: url(:/ICON/plus.png); } QTreeWidget::branch:open:has-children:!has-siblings, QTreeWidget::branch:open:has-children:has-siblings { border-image: none; image: url(:/ICON/minus.png); } QWidget { background:#1A1D3C }
8、按钮图表+鼠标响应
ui->pushButton_add->setIcon(QIcon(":/icon/icon/add.png")); ui->pushButton_add->setFlat(true); ui->pushButton_add->setStyleSheet("QPushButton{border:0px solid white;outline:0px;}" "QPushButton:hover{border-image:url(:/icon/icon/red1.png);}" "QPushButton:pressed{border-image:url(:/icon/icon/red.png);}");//设置鼠标滑过颜色变化
9、通过QSS设置icon
QPushButton{ qproperty-icon:url(:/icon/ICON/jigui.png);
qproperty-iconSize:40px 40px;
}
10、ui里的line设置QSS
其实就是QFrame
首先找到其属性frameShadow,改成Palin

然后设置QSS
QFrame#line_6{
background-color: #5CF1FF;
}
11、进度条
/*QProgressBar*/ QProgressBar{ border: 0px solid #FFFFFF; height: 25px; background: #183865; text-align: center; border-radius: 10px; color: #FFFFFF; font: 12px "Microsoft YaHei"; } QProgressBar::chunk { background-color: #27B27F; border-radius: 10px; }

12、QWidget边框效果,QTextEdit
QWidget#log{ border: 1px solid #1B5FA1; /* background: rgba(3,68,123,0.25);*/ background: rgb(1,23,68); } /*QLabel*/ QLabel { font: 16px "Microsoft YaHei"; color: #00D8FF; } /*QTextEdit*/ QTextEdit { font-size: 12px; font-family:'Microsoft YaHei'; background-color:rgba(3,68,123,0); border:0px; } /*表右侧的滑条*/ QScrollBar:vertical{ background:#484848; padding:0px; border-radius:6px; max-width:12px; } /*滑块*/ QScrollBar::handle:vertical{ background:#CCCCCC; } /* 滑块悬浮,按下*/ QScrollBar::handle:hover:vertical,QScrollBar::handle:pressed:vertical{ background:#A7A7A7; } /* 滑块已经划过的区域*/ QScrollBar::sub-page:vertical{ background:444444; } /* 滑块还没有划过的区域*/ QScrollBar::add-page:vertical{ background:5B5B5B; } /*页面下移的按钮*/ QScrollBar::add-line:vertical{ background:none; } /*页面上移的按钮*/ QScrollBar::sub-line:vertical{ background:none; }
注意widget的objname就是log

13、QSS不影响子类
加点号
.QPushButton{
color:red;
}
14、QTreeWidget
/*表头*/ QHeaderView::section{ text-align:center; color: #AFE4FF; background-color: rgba(5, 81, 139, 0.63); font: 16px "Microsoft YaHei"; padding:3px; margin:0px; border:0px solid #242424; border-top-width:0; border-right-width:0; color: white; } /*背景、字体*/ QTreeWidget{ border: 1px solid gray; background: rgba(53,68,111,0); color: white; font-size:17px; } QTreeView::item:hover{background-color:rgb(0,255,0,50)} QTreeView::item:selected{background-color:rgb(255,0,0,100)} /*张开时的三角图标*/ QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(:/img/img/down_ar.png); } /*合起时的三角图标*/ QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings { border-image: none; image: url(:/img/img/right_ar.png); }

15、QPushButton和QToolButton设置图标
QPushButton#pushButton_refresh{ min-width: 90px; min-height: 25px; max-width: 90px; max-height: 25px; background-color: green; border-radius: 5px; font: 14px "Microsoft YaHei"; color: #FFFFFF; border: 0px solid gray; qproperty-icon:url(:/main/refresh.png); } QPushButton:hover#pushButton_refresh{ background-color: #333333; border-color: #444444; color:rgb(255,255,255); } QPushButton:pressed#pushButton_refresh{ background-color: #111111; border-color: #333333; color: yellow; }
16、设置单边边框
QLineEdit{ border: 0px solid gray; border-bottom: 1px solid gray; background: rgba(0,0,0,0); color:#00D8FF; font: 14px "Microsoft YaHei"; }

17、QMessageBox
QMessageBox { background-color: #F2F2F2; /* QMessageBox背景颜色 */ } QMessageBox QLabel#qt_msgbox_label { /* textLabel */ color: #298DFF; background-color: transparent; min-width: 240px; /* textLabel设置最小宽度可以相应的改变QMessageBox的最小宽度 */ min-height: 40px; /* textLabel和iconLabel高度保持一致 */ } QMessageBox QLabel#qt_msgboxex_icon_label { /* iconLabel */ width: 40px; height: 40px; /* textLabel和iconLabel高度保持一致 */ }
ps:控件的布局

语法可以参考:
https://blog.csdn.net/aristolto/article/details/80234934
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html