first commit

This commit is contained in:
2026-01-02 19:20:35 +09:00
commit a10cb30c4a
94 changed files with 28609 additions and 0 deletions

286
utils/stylehelper.cpp Normal file
View 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)";
}