/* ==================== DCS2025 工业控制系统样式表 ==================== */ /* 重构版本 - 消除重复,统一样式 */ /* ==================== 全局变量和基础样式 ==================== */ * { font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; } /* ==================== 主容器样式 ==================== */ QWidget#centralwidget { background-color: #F5F5F5; border-radius: 8px; } QWidget#titlewidget { background-color: #FFFFFF; } QWidget#topWidget { background-color: #2277EF; } QWidget#userWidget, QWidget#varWidget, QWidget#projectWidget, QWidget#trendWidget, QWidget#LoginWidget { background-color: #FFFFFF; border-radius: 8px; border: 1px solid #E5E7EB; } QWidget#userBtnWidget, QWidget#projectBtnWidget { background-color: #FFFFFF; margin-top: 7px; margin-right: 7px; } QWidget#userCheckWidget { background-color: #FFFFFF; margin-top: 7px; } QWidget#registerWidget { background: #181922; } /* ==================== 左侧导航栏样式 ==================== */ QWidget#leftWidget { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFFF, stop:0.2 #FEFEFE, stop:0.5 #FAFBFC, stop:0.8 #F6F8FA, stop:1 #F1F3F5); border-right: 1px solid #E1E5E9; min-width: 260px; max-width: 260px; } /* 导航按钮基础样式 */ QPushButton#createProject, QPushButton#openProject, QPushButton#trendMag, QPushButton#varMag, QPushButton#userMag, QPushButton#protocolMag, QPushButton#controlMag, QPushButton#procedureMag { border: none; font-size: 16px; text-align: left; font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; color: #6B7280; background-color: transparent; padding: 16px 20px; margin: 4px 16px; border-radius: 12px; min-height: 52px; icon-size: 22px 22px; } /* 导航按钮悬停效果 */ QPushButton#createProject:hover, QPushButton#openProject:hover, QPushButton#trendMag:hover, QPushButton#varMag:hover, QPushButton#userMag:hover, QPushButton#protocolMag:hover, QPushButton#controlMag:hover, QPushButton#procedureMag:hover { color: #2277EF; background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgba(34, 119, 239, 15), stop:1 rgba(34, 119, 239, 5)); border-radius: 12px; } /* 导航按钮选中状态 */ QPushButton#createProject:checked, QPushButton#openProject:checked, QPushButton#trendMag:checked, QPushButton#varMag:checked, QPushButton#userMag:checked, QPushButton#protocolMag:checked, QPushButton#controlMag:checked, QPushButton#procedureMag:checked { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #2277EF, stop:0.3 #3B82F6, stop:0.7 #60A5FA, stop:1 rgba(96, 165, 250, 200)); color: #FFFFFF; font-weight: bold; border-radius: 12px; border: none; } /* ==================== 表格统一样式 ==================== */ /* 表格容器基础样式 */ QTableView { border: none; outline: none; gridline-color: transparent; background-color: #FFFFFF; /* selection-background-color: #E3F2FD; */ selection-color: #1976D2; font-size: 15px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; font-weight: 400; color: #374151; } /* 表格项统一样式 */ QTableView::item { border: none; outline: none; min-height: 48px; /* 不设置background-color,让模型的背景颜色生效 */ } /* 表格项悬停效果 */ QTableView::item:hover { /* background-color: #F8F9FA; */ color: #2277EF; } /* 表格项选中效果 */ QTableView::item:selected { /* background-color: #E3F2FD; */ color: #1976D2; font-weight: 500; } /* ==================== 专用表格样式 ==================== */ /* 用户和工程表格特殊样式 */ QTableView#userView, QTableView#projectView { background-color: #FFFFFF; padding: 10px; } QTableView#userView::item, QTableView#projectView::item { /* background-color: #FFFFFF; */ margin: 4px 2px; border-radius: 6px; min-height: 56px !important; height: 56px; padding: 8px 14px; font-size: 15px; line-height: 24px; } /* 变量表格样式 */ QTableView#varView { background-color: #FFFFFF; font-size: 16px; } QTableView#varView::item { margin: 0px; border-radius: 0px; min-height: 46px; padding: 8px 12px; /* 不设置background-color,让模型的背景颜色生效 */ } /* ==================== 表头统一样式 ==================== */ /* 表头基础样式 */ QHeaderView { border: none; outline: none; background-color: transparent; } QHeaderView::section { border: none; outline: none; text-align: center; font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; font-weight: 600; } /* 用户和工程表头样式 */ QHeaderView#userHeader::section, QHeaderView#projectHeader::section { color: #1F2937; font-size: 16px; height: 26px; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFFF, stop:1 #F8F9FA); padding: 16px 12px; border-bottom: 2px solid #E5E7EB; } /* 变量表头样式 */ QHeaderView::section { color: #FFFFFF; font-size: 16px; height: 26px; background-color: #4A5568; padding: 12px 8px; } QHeaderView#paramHeader::section { color: #FFFFFF; font-size: 15px; height: 26px; background-color: #4A5568; padding: 10px 8px; } /* ==================== 按钮统一样式 ==================== */ /* 基础按钮样式 */ QPushButton { border: none; outline: none; font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; } /* 设置按钮样式 */ QPushButton#setButton { min-height: 36px; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2277EF, stop:1 #1976D2); border-radius: 6px; color: #FFFFFF; font-size: 14px; font-weight: 600; padding: 8px 16px; } QPushButton#setButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2277EF); } QPushButton#setButton:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1976D2, stop:1 #1565C0); } /* 功能按钮样式 */ QPushButton#forceBtn, QPushButton#exportBtn, QPushButton#importBtn, QPushButton#createBtn, QPushButton#delBtn, QPushButton#messageBtn, QPushButton#startProtocolBtn, QPushButton#clearBtn { color: #2277EF; font-size: 14px; font-weight: 500; padding: 6px 12px; background-color: transparent; border-radius: 4px; } QPushButton#forceBtn:hover, QPushButton#exportBtn:hover, QPushButton#importBtn:hover, QPushButton#createBtn:hover, QPushButton#delBtn:hover, QPushButton#messageBtn:hover, QPushButton#startProtocolBtn:hover, QPushButton#clearBtn:hover { background-color: #E3F2FD; font-weight: 600; } /* 登录按钮样式 */ QPushButton#loginButton, QPushButton#exitButton { width: 80px; height: 36px; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2277EF, stop:1 #1976D2); border-radius: 6px; color: #FFFFFF; font-size: 14px; font-weight: 600; } QPushButton#loginButton:hover, QPushButton#exitButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2277EF); } /* ==================== 输入框统一样式 ==================== */ /* 基础输入框样式 */ QLineEdit { border: 1px solid #D1D5DB; border-radius: 6px; padding: 8px 12px; font-size: 14px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; background-color: #FFFFFF; color: #374151; } QLineEdit:focus { border-color: #2277EF; background-color: #F8F9FF; } /* 设置输入框样式 */ QLineEdit#setEdit { min-width: 180px; min-height: 32px; font-size: 14px; } /* 用户输入框样式 */ QLineEdit#userEdit, QLineEdit#pwdEdit { width: 240px; height: 36px; background-color: #F9FAFB; border: 1px solid #E5E7EB; font-size: 14px; } /* 搜索输入框样式 */ QLineEdit#searchEdit { background-color: #4b8cf2; border: none; padding: 8px 15px; color: #FFFFFF; font-size: 14px; } QLineEdit#searchEdit::placeholder { color: rgba(255, 255, 255, 0.7); } /* ==================== 标签统一样式 ==================== */ /* 标题标签样式 */ QLabel#titleLabel { color: #FFFFFF; font-size: 24px; font-family: "PingFangSC-Semibold", "Microsoft YaHei", sans-serif; font-weight: bold; } /* 设置标签样式 */ QLabel#setlabel, QLabel#mesLabel { background-color: #F3F4F6; border: none; min-width: 180px; min-height: 32px; border-radius: 6px; padding: 8px 12px; color: #374151; font-size: 14px; font-weight: 500; } /* TCP/RTU标签样式 */ QLabel#tcpLable, QLabel#rtuLable { background-color: #F3F4F6; border: none; width: 200px; height: 40px; border-radius: 6px; padding: 8px 12px; color: #374151; font-size: 16px; font-weight: 500; } /* ==================== 下拉框统一样式 ==================== */ QComboBox { /* border: 1px solid #D1D5DB; */ border-radius: 6px; padding: 6px 12px; font-size: 14px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; background-color: #FFFFFF; color: #374151; min-height: 32px; } QComboBox:focus { border-color: #2277EF; } QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; width: 20px; border: none; } QComboBox::down-arrow { image: url(./Static/down.png); width: 12px; height: 12px; } QComboBox QAbstractItemView { border: 1px solid #E5E7EB; border-radius: 6px; background-color: #FFFFFF; selection-background-color: #E3F2FD; selection-color: #1976D2; font-size: 14px; outline: none; } QComboBox QAbstractItemView::item { padding: 8px 12px; min-height: 32px; } QComboBox QAbstractItemView::item:hover { background-color: #F3F4F6; } /* ==================== 滚动条统一样式 ==================== */ QScrollBar:vertical { background: #F3F4F6; width: 12px; border-radius: 6px; margin: 0px; } QScrollBar::handle:vertical { background: #9CA3AF; border-radius: 6px; min-height: 20px; } QScrollBar::handle:vertical:hover { background: #6B7280; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; } QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: transparent; } /* ==================== 复选框样式 ==================== */ QCheckBox#userBox::indicator { width: 20px; height: 20px; } QCheckBox#userBox::indicator:checked { image: url(./Static/checkoff.png); } QCheckBox#userBox::indicator:unchecked { image: url(./Static/checkon.png); } /* ==================== 文本编辑框样式 ==================== */ QTextEdit#mesEdit { border: 1px solid #D1D5DB; border-radius: 8px; font-size: 14px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; background-color: #FFFFFF; color: #374151; padding: 8px; } QTextEdit#mesEdit:focus { border-color: #2277EF; } /* ==================== 列表视图样式 ==================== */ QListView#trendListView { font-size: 14px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; border: 1px solid #E5E7EB; border-radius: 6px; background-color: #FFFFFF; } QListView#trendListView::item { padding: 8px 12px; margin: 2px; border-radius: 4px; } QListView#trendListView::item:hover { background-color: #F3F4F6; } QListView#trendListView::item:selected { background-color: #E3F2FD; color: #1976D2; } /* ==================== 消息框样式 ==================== */ QMessageBox { background-color: #FFFFFF; border-radius: 12px; border: 1px solid #E5E7EB; min-width: 400px; min-height: 180px; font-size: 14px; padding: 20px; } QMessageBox QLabel { color: #374151; font-size: 16px; font-weight: 600; padding: 12px 0; } QMessageBox QPushButton { min-width: 80px; min-height: 36px; font-size: 14px; border-radius: 6px; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2277EF, stop:1 #1976D2); color: #FFFFFF; font-weight: 600; margin: 0 6px; } QMessageBox QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2277EF); } /* ==================== Tab标签页样式 ==================== */ QTabBar#varManageTabBar::tab { font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; font-size: 16px; width: 160px; height: 40px; padding: 8px 16px; margin: 2px; border-radius: 6px; background-color: #F3F4F6; color: #6B7280; } QTabBar#varManageTabBar::tab:hover { background-color: #E3F2FD; color: #2277EF; } QTabBar#varManageTabBar::tab:selected { background-color: #2277EF; color: #FFFFFF; font-weight: 600; } /* ==================== 趋势界面样式 ==================== */ QWidget#trendMainWidget { background-color: #F5F5F5; border-radius: 8px; } QGroupBox { font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; font-weight: 600; border: 1px solid #E5E7EB; border-radius: 8px; margin-top: 12px; padding-top: 8px; background-color: #FFFFFF; } QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 8px; background-color: #FFFFFF; color: #374151; font-size: 16px; } /* ==================== 注册界面样式 ==================== */ QPushButton#registerPushButton { width: 100px; height: 32px; border-radius: 6px; color: #FFFFFF; font-size: 14px; font-weight: 600; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #10B981, stop:1 #059669); } QPushButton#cancel_btn { width: 100px; height: 32px; border-radius: 6px; color: #FFFFFF; font-size: 14px; font-weight: 600; background: #6B7280; } QLabel#registerlabel { color: #6B7280; font-size: 13px; font-family: "PingFangSC-Regular", "Microsoft YaHei", sans-serif; text-align: center; } QLabel#registerlabel_1, QLabel#registerlabel_2 { color: #FFFFFF; font-size: 15px; font-family: "PingFangSC-Medium", "Microsoft YaHei", sans-serif; font-weight: 600; } QLineEdit#registerlineEdit { width: 360px; height: 38px; border-radius: 8px; background: #21232f; color: #FFFFFF; font-size: 16px; padding: 8px 12px; border: 1px solid #4A5568; } QLineEdit#registerlineEdit:focus { border-color: #2277EF; } /* = =================== 变量表下拉框样式 ==================== */ /* 基础下拉框样式 */ /* 移除偶数行样式 - 不需要奇偶行颜色区别 */ /* 移除强制变量样式 - 所有下拉框使用统一样式 */ /* 下拉箭头样式 - 使用Static/down.png */ /* 全局下拉列表样式 - 强制修复黑色背景问题 */ QComboBox QAbstractItemView { background-color: white !important; color: black !important; border: 1px solid #E5E7EB; border-radius: 4px; selection-background-color: #E3F2FD !important; selection-color: #1976D2 !important; outline: none; font-size: 14px; show-decoration-selected: 1; } QComboBox QAbstractItemView::item { background-color: white !important; color: black !important; padding: 8px 12px; min-height: 28px; border: none; } QComboBox QAbstractItemView::item:hover { background-color: #F3F4F6 !important; color: black !important; } QComboBox QAbstractItemView::item:selected { background-color: #E3F2FD !important; color: #1976D2 !important; } /* ==================== 历史趋势界面样式 ==================== */ /* 主趋势窗口 */ QWidget#trendMainWidget { background-color: #F8F9FA; border: 1px solid #E5E7EB; border-radius: 8px; } /* 变量列表组 */ QGroupBox#trendVariableListGroup { font-size: 14px; font-weight: bold; color: #374151; border: 2px solid #E5E7EB; border-radius: 8px; margin-top: 12px; padding-top: 8px; background-color: #FFFFFF; } QGroupBox#trendVariableListGroup::title { subcontrol-origin: margin; left: 12px; padding: 0 8px 0 8px; color: #2277EF; font-weight: bold; } /* 搜索输入框 */ QLineEdit#trendSearchInput { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 6px; padding: 8px 12px; font-size: 14px; color: #374151; } QLineEdit#trendSearchInput:focus { border-color: #2277EF; background-color: #F8F9FA; } QLineEdit#trendSearchInput:hover { border-color: #9CA3AF; } /* 变量列表 */ QListWidget#trendVarListWidget { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 6px; selection-background-color: #E3F2FD; selection-color: #1976D2; outline: none; font-size: 13px; padding: 4px; } QListWidget#trendVarListWidget::item { padding: 8px 12px; border-radius: 4px; margin: 1px; color: #374151; } QListWidget#trendVarListWidget::item:hover { background-color: #F3F4F6; color: #1F2937; } QListWidget#trendVarListWidget::item:selected { background-color: #E3F2FD; color: #1976D2; font-weight: bold; } /* 时间范围组 */ QGroupBox#trendTimeGroupBox { font-size: 13px; font-weight: bold; color: #374151; border: 2px solid #E5E7EB; border-radius: 6px; margin-top: 10px; padding-top: 6px; background-color: #FFFFFF; } QGroupBox#trendTimeGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 6px 0 6px; color: #059669; font-weight: bold; } /* 快速时间范围下拉框 */ QComboBox#trendQuickRangeCombo { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 6px; padding: 6px 8px; font-size: 13px; min-height: 24px; color: #374151; } QComboBox#trendQuickRangeCombo:hover { border-color: #059669; background-color: #F0FDF4; } QComboBox#trendQuickRangeCombo::drop-down { subcontrol-origin: padding; subcontrol-position: top right; width: 20px; border-left-width: 1px; border-left-color: #E5E7EB; border-left-style: solid; border-top-right-radius: 6px; border-bottom-right-radius: 6px; background-color: #F8F9FA; } QComboBox#trendQuickRangeCombo::down-arrow { image: url(Static/down.png); width: 12px; height: 8px; } QComboBox#trendQuickRangeCombo QAbstractItemView { background-color: #FFFFFF; color: #374151; border: 1px solid #E5E7EB; border-radius: 4px; selection-background-color: #F0FDF4; selection-color: #059669; outline: none; font-size: 13px; } /* 时间编辑器 */ QDateTimeEdit#trendStartTimeEdit, QDateTimeEdit#trendEndTimeEdit { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 6px; padding: 6px 8px; font-size: 13px; color: #374151; min-height: 24px; } QDateTimeEdit#trendStartTimeEdit:focus, QDateTimeEdit#trendEndTimeEdit:focus { border-color: #059669; background-color: #F0FDF4; } QDateTimeEdit#trendStartTimeEdit:hover, QDateTimeEdit#trendEndTimeEdit:hover { border-color: #9CA3AF; } /* 操作按钮组 */ QGroupBox#trendButtonGroupBox { font-size: 13px; font-weight: bold; color: #374151; border: 2px solid #E5E7EB; border-radius: 6px; margin-top: 10px; padding-top: 6px; background-color: #FFFFFF; } QGroupBox#trendButtonGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 6px 0 6px; color: #059669; font-weight: bold; } /* 趋势操作按钮 */ QToolButton#trendQueryBtn { background-color: #2277EF; color: #FFFFFF; border: none; border-radius: 6px; padding: 12px 16px; font-size: 13px; font-weight: bold; min-height: 40px; min-width: 120px; } QToolButton#trendQueryBtn:hover { background-color: #1D4ED8; border: 2px solid #1E40AF; } QToolButton#trendQueryBtn:pressed { background-color: #1E40AF; border: 2px solid #1D4ED8; } QToolButton#trendRefreshBtn { background-color: #059669; color: #FFFFFF; border: none; border-radius: 6px; padding: 12px 16px; font-size: 13px; font-weight: bold; min-height: 40px; min-width: 120px; } QToolButton#trendRefreshBtn:hover { background-color: #047857; border: 2px solid #065F46; } QToolButton#trendRefreshBtn:pressed { background-color: #065F46; border: 2px solid #047857; } QToolButton#trendAddBtn { background-color: #7C3AED; color: #FFFFFF; border: none; border-radius: 6px; padding: 12px 16px; font-size: 13px; font-weight: bold; min-height: 40px; min-width: 120px; } QToolButton#trendAddBtn:hover { background-color: #6D28D9; border: 2px solid #5B21B6; } QToolButton#trendAddBtn:pressed { background-color: #5B21B6; border: 2px solid #6D28D9; } QToolButton#trendClearBtn { background-color: #DC2626; color: #FFFFFF; border: none; border-radius: 6px; padding: 12px 16px; font-size: 13px; font-weight: bold; min-height: 40px; min-width: 120px; } QToolButton#trendClearBtn:hover { background-color: #B91C1C; border: 2px solid #991B1B; } QToolButton#trendClearBtn:pressed { background-color: #991B1B; border: 2px solid #B91C1C; } /* 趋势图查看器组 */ QWidget#trendViewerGroup { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; } /* 图表组 */ QGroupBox#trendChartGroup { font-size: 16px; font-weight: bold; color: #1F2937; border: 2px solid #E5E7EB; border-radius: 8px; margin-top: 12px; padding-top: 8px; background-color: #FFFFFF; } QGroupBox#trendChartGroup::title { subcontrol-origin: margin; left: 12px; padding: 0 8px 0 8px; color: #2277EF; font-weight: bold; } /* 信息状态组 */ QGroupBox#trendInfoGroup { font-size: 13px; font-weight: bold; color: #374151; border: 2px solid #E5E7EB; border-radius: 6px; margin-top: 8px; padding-top: 6px; background-color: #F8F9FA; } QGroupBox#trendInfoGroup::title { subcontrol-origin: margin; left: 10px; padding: 0 6px 0 6px; color: #6B7280; font-weight: bold; } /* 状态标签 */ QLabel#trendVarNameLabel { color: #1F2937; font-size: 13px; font-weight: bold; padding: 4px 8px; background-color: #E3F2FD; border-radius: 4px; } QLabel#trendDataCountLabel { color: #059669; font-size: 13px; font-weight: bold; padding: 4px 8px; background-color: #D1FAE5; border-radius: 4px; } QLabel#trendTimeRangeLabel { color: #7C3AED; font-size: 13px; font-weight: bold; padding: 4px 8px; background-color: #F3E8FF; border-radius: 4px; } QLabel#trendStatusLabel { color: #DC2626; font-size: 13px; font-weight: bold; padding: 4px 8px; background-color: #FEF2F2; border-radius: 4px; } /* 信息气泡 */ QLabel#trendInfoBubble { background-color: rgba(0, 0, 0, 200); color: #FFFFFF; border: none; border-radius: 6px; padding: 8px 12px; font-size: 12px; font-weight: bold; } /* ==================== 实时趋势界面样式 ==================== */ /* 实时趋势主窗口 */ ActualTrend { background-color: #F8F9FA; border: 1px solid #E5E7EB; border-radius: 8px; } /* 实时趋势工具栏 */ ActualTrend QToolBar { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 6px; spacing: 4px; padding: 4px; } ActualTrend QToolBar::handle { background-color: #9CA3AF; width: 8px; border-radius: 4px; margin: 4px; } ActualTrend QToolBar::separator { background-color: #E5E7EB; width: 1px; margin: 4px; } /* 实时趋势画布容器 */ ActualTrend QWidget { background-color: #FFFFFF; border-radius: 6px; } /* ==================== 趋势界面通用样式 ==================== */ /* 所有趋势相关的滚动条 */ QWidget[objectName*="trend"] QScrollBar:vertical { background-color: #F3F4F6; width: 12px; border-radius: 6px; margin: 0; } QWidget[objectName*="trend"] QScrollBar::handle:vertical { background-color: #9CA3AF; border-radius: 6px; min-height: 20px; margin: 2px; } QWidget[objectName*="trend"] QScrollBar::handle:vertical:hover { background-color: #6B7280; } QWidget[objectName*="trend"] QScrollBar::add-line:vertical, QWidget[objectName*="trend"] QScrollBar::sub-line:vertical { height: 0px; } /* 趋势界面的分割器 */ QWidget[objectName*="trend"] QSplitter::handle { background-color: #E5E7EB; border-radius: 2px; } QWidget[objectName*="trend"] QSplitter::handle:hover { background-color: #9CA3AF; } /* 趋势界面的复选框 */ QWidget[objectName*="trend"] QCheckBox { color: #374151; font-size: 13px; spacing: 8px; } QWidget[objectName*="trend"] QCheckBox::indicator { width: 16px; height: 16px; border-radius: 3px; border: 2px solid #9CA3AF; background-color: #FFFFFF; } QWidget[objectName*="trend"] QCheckBox::indicator:hover { border-color: #2277EF; } QWidget[objectName*="trend"] QCheckBox::indicator:checked { background-color: #2277EF; border-color: #2277EF; image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDQuNUw0LjUgOEwxMSAxIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K); } /* 趋势界面的标签通用样式 */ QWidget[objectName*="trend"] QLabel { color: #374151; font-size: 13px; } /* 趋势界面的输入框通用样式 */ QWidget[objectName*="trend"] QLineEdit { background-color: #FFFFFF; border: 1px solid #D1D5DB; border-radius: 4px; padding: 6px 8px; font-size: 13px; color: #374151; } QWidget[objectName*="trend"] QLineEdit:focus { border-color: #2277EF; outline: none; } /* 趋势界面的按钮通用悬停效果 */ QWidget[objectName*="trend"] QPushButton:hover, QWidget[objectName*="trend"] QToolButton:hover { border: 2px solid #9CA3AF; } QWidget[objectName*="trend"] QPushButton:pressed, QWidget[objectName*="trend"] QToolButton:pressed { border: 2px solid #6B7280; } /* ==================== 表格整行Hover样式 ==================== */ /* 通用表格样式 - 整行hover效果 */ QTableView { selection-background-color: #E3F2FD; selection-color: #1976D2; gridline-color: #E5E7EB; background-color: #FFFFFF; alternate-background-color: #F8F9FA; outline: none; } /* 表格项整行hover效果 */ QTableView::item { padding: 8px; border: none; color: #374151; } QTableView::item:hover { background-color: #F3F4F6; color: #1F2937; } QTableView::item:selected { background-color: #E3F2FD; color: #1976D2; } QTableView::item:selected:hover { background-color: #BBDEFB; color: #1565C0; } /* 变量表格特定样式 */ QTableView#varView { selection-background-color: #E3F2FD; selection-color: #1976D2; gridline-color: #E5E7EB; background-color: #FFFFFF; outline: none; show-decoration-selected: 1; } QTableView#varView::item { padding: 6px 8px; border: none; color: #374151; } QTableView#varView::item:hover { background-color: #F0F9FF; color: #1F2937; } QTableView#varView::item:selected { background-color: #E3F2FD; color: #1976D2; } QTableView#varView::item:selected:hover { background-color: #BBDEFB; color: #1565C0; } /* 项目表格样式 */ QTableView#projectTable { selection-background-color: #F0FDF4; selection-color: #059669; gridline-color: #E5E7EB; background-color: #FFFFFF; outline: none; show-decoration-selected: 1; } QTableView#projectTable::item { padding: 8px; border: none; color: #374151; } QTableView#projectTable::item:hover { background-color: #F0FDF4; color: #1F2937; } QTableView#projectTable::item:selected { background-color: #D1FAE5; color: #059669; } QTableView#projectTable::item:selected:hover { background-color: #A7F3D0; color: #047857; } /* 用户表格样式 */ QTableView#userTable { selection-background-color: #FEF3C7; selection-color: #D97706; gridline-color: #E5E7EB; background-color: #FFFFFF; outline: none; show-decoration-selected: 1; } QTableView#userTable::item { padding: 8px; border: none; color: #374151; } QTableView#userTable::item:hover { background-color: #FFFBEB; color: #1F2937; } QTableView#userTable::item:selected { background-color: #FEF3C7; color: #D97706; } QTableView#userTable::item:selected:hover { background-color: #FDE68A; color: #B45309; } /* 趋势变量列表样式 */ QListWidget#trendVarListWidget::item:hover { background-color: #F0F9FF; color: #1F2937; border-radius: 4px; } QListWidget#trendVarListWidget::item:selected { background-color: #E3F2FD; color: #1976D2; border-radius: 4px; } QListWidget#trendVarListWidget::item:selected:hover { background-color: #BBDEFB; color: #1565C0; border-radius: 4px; }