first commit
This commit is contained in:
286
utils/stylehelper.cpp
Normal file
286
utils/stylehelper.cpp
Normal file
@@ -0,0 +1,286 @@
|
||||
#include "stylehelper.h"
|
||||
|
||||
void StyleHelper::applyGlobalStyle(QApplication *app)
|
||||
{
|
||||
app->setStyleSheet(getGlobalStyleSheet());
|
||||
}
|
||||
|
||||
QString StyleHelper::getGlobalStyleSheet()
|
||||
{
|
||||
return R"(
|
||||
/* 全局样式 */
|
||||
QWidget {
|
||||
font-family: "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
|
||||
}
|
||||
|
||||
/* 主窗口 */
|
||||
QMainWindow {
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
/* 按钮样式 - 触摸屏优化 */
|
||||
QPushButton {
|
||||
background-color: #2196F3;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
padding: 10px 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
min-height: 38px;
|
||||
}
|
||||
|
||||
QPushButton:hover {
|
||||
background-color: #1976D2;
|
||||
}
|
||||
|
||||
QPushButton:pressed {
|
||||
background-color: #1565C0;
|
||||
}
|
||||
|
||||
QPushButton:disabled {
|
||||
background-color: #BDBDBD;
|
||||
color: #757575;
|
||||
}
|
||||
|
||||
/* 次要按钮 */
|
||||
QPushButton[flat="true"] {
|
||||
background-color: transparent;
|
||||
color: #2196F3;
|
||||
}
|
||||
|
||||
QPushButton[flat="true"]:hover {
|
||||
background-color: rgba(33, 150, 243, 0.1);
|
||||
}
|
||||
|
||||
/* 输入框 - 触摸屏优化 */
|
||||
QLineEdit {
|
||||
background-color: white;
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
padding: 10px 14px;
|
||||
font-size: 14px;
|
||||
color: #212121;
|
||||
min-height: 38px;
|
||||
}
|
||||
|
||||
QLineEdit:focus {
|
||||
border-color: #2196F3;
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
QLineEdit:disabled {
|
||||
background-color: #FAFAFA;
|
||||
color: #9E9E9E;
|
||||
}
|
||||
|
||||
/* 下拉框 - 触摸屏优化 */
|
||||
QComboBox {
|
||||
background-color: white;
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
padding: 10px 14px;
|
||||
font-size: 14px;
|
||||
color: #212121;
|
||||
min-height: 38px;
|
||||
}
|
||||
|
||||
QComboBox:hover {
|
||||
border-color: #BDBDBD;
|
||||
}
|
||||
|
||||
QComboBox:focus {
|
||||
border-color: #2196F3;
|
||||
}
|
||||
|
||||
QComboBox::drop-down {
|
||||
border: none;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
QComboBox::down-arrow {
|
||||
image: url(:/icons/arrow_down.svg);
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
/* 滚动条 - 触摸屏优化 */
|
||||
QScrollBar:vertical {
|
||||
background-color: #F5F5F5;
|
||||
width: 14px;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:vertical {
|
||||
background-color: #BDBDBD;
|
||||
border-radius: 7px;
|
||||
min-height: 50px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:vertical:hover {
|
||||
background-color: #9E9E9E;
|
||||
}
|
||||
|
||||
QScrollBar::add-line:vertical,
|
||||
QScrollBar::sub-line:vertical {
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
QScrollBar:horizontal {
|
||||
background-color: #F5F5F5;
|
||||
height: 14px;
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:horizontal {
|
||||
background-color: #BDBDBD;
|
||||
border-radius: 7px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
QScrollBar::handle:horizontal:hover {
|
||||
background-color: #9E9E9E;
|
||||
}
|
||||
|
||||
QScrollBar::add-line:horizontal,
|
||||
QScrollBar::sub-line:horizontal {
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
/* 标签页 */
|
||||
QTabWidget::pane {
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
QTabBar::tab {
|
||||
background-color: #F5F5F5;
|
||||
color: #757575;
|
||||
padding: 12px 24px;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
QTabBar::tab:selected {
|
||||
background-color: white;
|
||||
color: #2196F3;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
QTabBar::tab:hover:!selected {
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
/* 进度条 */
|
||||
QProgressBar {
|
||||
background-color: #E0E0E0;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
height: 8px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QProgressBar::chunk {
|
||||
background-color: #2196F3;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* 工具提示 */
|
||||
QToolTip {
|
||||
background-color: #424242;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
padding: 8px 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* 消息框 */
|
||||
QMessageBox {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
QMessageBox QLabel {
|
||||
color: #212121;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* 分组框 */
|
||||
QGroupBox {
|
||||
background-color: white;
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
margin-top: 16px;
|
||||
padding: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
QGroupBox::title {
|
||||
subcontrol-origin: margin;
|
||||
subcontrol-position: top left;
|
||||
left: 16px;
|
||||
padding: 0 8px;
|
||||
color: #424242;
|
||||
}
|
||||
|
||||
/* 列表 */
|
||||
QListWidget {
|
||||
background-color: white;
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
QListWidget::item {
|
||||
padding: 12px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
QListWidget::item:selected {
|
||||
background-color: #E3F2FD;
|
||||
color: #1976D2;
|
||||
}
|
||||
|
||||
QListWidget::item:hover:!selected {
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
/* 表格 */
|
||||
QTableWidget {
|
||||
background-color: white;
|
||||
border: 1px solid #E0E0E0;
|
||||
border-radius: 8px;
|
||||
gridline-color: #EEEEEE;
|
||||
}
|
||||
|
||||
QTableWidget::item {
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
QTableWidget::item:selected {
|
||||
background-color: #E3F2FD;
|
||||
color: #1976D2;
|
||||
}
|
||||
|
||||
QHeaderView::section {
|
||||
background-color: #FAFAFA;
|
||||
color: #424242;
|
||||
padding: 12px;
|
||||
border: none;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
font-weight: 500;
|
||||
}
|
||||
)";
|
||||
}
|
||||
|
||||
QString StyleHelper::cardShadow()
|
||||
{
|
||||
return "0 4px 8px rgba(0,0,0,0.15)";
|
||||
}
|
||||
|
||||
QString StyleHelper::buttonShadow()
|
||||
{
|
||||
return "0 2px 4px rgba(0,0,0,0.2)";
|
||||
}
|
||||
Reference in New Issue
Block a user