You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1221 lines
27 KiB
Plaintext

/* ==================== DCS2025 规程管理界面样式 - 现代化设计 ==================== */
/* ==================== 全局样式 ==================== */
QWidget {
background-color: #F5F7FA;
color: #374151;
font-family: "PingFangSC-Regular", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
font-size: 14px;
selection-background-color: #3B82F6;
selection-color: #FFFFFF;
}
/* ==================== 主窗口样式 ==================== */
QMainWindow {
background-color: #F5F7FA;
border: none;
}
/* ==================== 工具栏样式 ==================== */
QToolBar {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #FFFFFF, stop:1 #F8FAFC);
border: none;
border-bottom: 1px solid #E5E7EB;
spacing: 12px;
padding: 16px 24px;
font-size: 13px;
font-weight: 500;
}
QToolBar::separator {
background-color: #E5E7EB;
width: 1px;
margin: 8px 6px;
}
/* 工具栏按钮 */
QToolBar QToolButton {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 12px 16px;
margin: 4px 2px;
color: #374151;
font-size: 13px;
font-weight: 500;
min-width: 80px;
min-height: 36px;
}
QToolBar QToolButton:hover {
background-color: #F9FAFB;
border-color: #D1D5DB;
color: #1F2937;
}
QToolBar QToolButton:pressed {
background-color: #F3F4F6;
border-color: #9CA3AF;
color: #111827;
}
/* ==================== 标签页样式 ==================== */
QTabWidget::pane {
border: 1px solid #E5E7EB;
border-radius: 12px;
background-color: #FFFFFF;
margin-top: -1px;
}
QTabWidget::tab-bar {
alignment: left;
}
QTabBar::tab {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F9FAFB, stop:1 #F3F4F6);
border: 1px solid #E5E7EB;
border-bottom: none;
border-top-left-radius: 12px;
border-top-right-radius: 12px;
padding: 16px 24px;
margin-right: 4px;
color: #6B7280;
font-size: 14px;
font-weight: 500;
min-width: 140px;
}
QTabBar::tab:selected {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #FFFFFF, stop:1 #F8FAFC);
color: #1976D2;
border-color: #E5E7EB;
font-weight: 600;
}
QTabBar::tab:hover:!selected {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #FFFFFF, stop:1 #F9FAFB);
color: #374151;
}
/* 关闭按钮 */
QTabBar::close-button {
image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDRMNCA4TDEyIDEyIiBzdHJva2U9IiM2QjcyODAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=);
subcontrol-position: right;
subcontrol-origin: padding;
border-radius: 4px;
margin: 6px;
padding: 2px;
}
QTabBar::close-button:hover {
background-color: #FEE2E2;
border: 1px solid #FECACA;
}
/* ==================== 卡片式容器样式 ==================== */
/* 分类列表卡片 */
QWidget#categoryCard {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 20px;
margin: 8px;
}
/* 规程列表卡片 */
QWidget#procedureCard {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 20px;
margin: 8px;
}
/* 卡片标题 */
QLabel#cardTitle {
font-size: 16px;
font-weight: 600;
color: #1F2937;
padding: 0 0 12px 0;
border-bottom: 2px solid #E5E7EB;
margin-bottom: 16px;
}
/* ==================== 列表控件样式 ==================== */
/* 分类列表 */
QListWidget#categoryList {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 8px;
outline: none;
font-size: 14px;
}
QListWidget#categoryList::item {
background-color: transparent;
border: none;
border-radius: 6px;
padding: 12px 16px;
margin: 2px 0;
color: #374151;
font-weight: 500;
}
QListWidget#categoryList::item:hover {
background-color: #F3F4F6;
color: #1F2937;
}
QListWidget#categoryList::item:selected {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #3B82F6, stop:1 #2563EB);
color: #FFFFFF;
font-weight: 600;
}
/* 规程列表 */
QListWidget#procedureList {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 8px;
outline: none;
font-size: 14px;
}
QListWidget#procedureList::item {
background-color: transparent;
border: none;
border-radius: 6px;
padding: 16px 20px;
margin: 3px 0;
color: #374151;
font-weight: 500;
min-height: 20px;
}
QListWidget#procedureList::item:hover {
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
color: #1F2937;
}
QListWidget#procedureList::item:selected {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #EBF8FF, stop:1 #DBEAFE);
border: 1px solid #93C5FD;
color: #1E40AF;
font-weight: 600;
}
/* ==================== 按钮样式 ==================== */
/* 基础按钮样式 */
QPushButton {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 12px 20px;
font-weight: 500;
color: #374151;
font-size: 14px;
min-width: 100px;
min-height: 36px;
}
QPushButton:hover {
background-color: #F9FAFB;
border-color: #D1D5DB;
color: #1F2937;
}
QPushButton:pressed {
background-color: #F3F4F6;
border-color: #9CA3AF;
color: #111827;
}
QPushButton:disabled {
background-color: #F9FAFB;
color: #9CA3AF;
border-color: #E5E7EB;
}
/* 主要操作按钮 - 蓝色 */
QPushButton#primaryBtn {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #3B82F6, stop:1 #2563EB);
border: 1px solid #2563EB;
color: #FFFFFF;
font-weight: 600;
}
QPushButton#primaryBtn:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #2563EB, stop:1 #1D4ED8);
border-color: #1D4ED8;
}
QPushButton#primaryBtn:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #1D4ED8, stop:1 #1E40AF);
border-color: #1E40AF;
}
/* 成功操作按钮 - 绿色 */
QPushButton#successBtn {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #10B981, stop:1 #059669);
border: 1px solid #059669;
color: #FFFFFF;
font-weight: 600;
}
QPushButton#successBtn:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #059669, stop:1 #047857);
border-color: #047857;
}
QPushButton#successBtn:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #047857, stop:1 #065F46);
border-color: #065F46;
}
/* 警告操作按钮 - 橙色 */
QPushButton#warningBtn {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F59E0B, stop:1 #D97706);
border: 1px solid #D97706;
color: #FFFFFF;
font-weight: 600;
}
QPushButton#warningBtn:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #D97706, stop:1 #B45309);
border-color: #B45309;
}
QPushButton#warningBtn:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #B45309, stop:1 #92400E);
border-color: #92400E;
}
/* 危险操作按钮 - 红色 */
QPushButton#dangerBtn {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #EF4444, stop:1 #DC2626);
border: 1px solid #DC2626;
color: #FFFFFF;
font-weight: 600;
}
QPushButton#dangerBtn:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #DC2626, stop:1 #B91C1C);
border-color: #B91C1C;
}
QPushButton#dangerBtn:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #B91C1C, stop:1 #991B1B);
border-color: #991B1B;
}
/* ==================== 表格样式 ==================== */
QTableWidget {
background-color: #FFFFFF;
alternate-background-color: #F8FAFC;
gridline-color: #E5E7EB;
border: 1px solid #E5E7EB;
border-radius: 8px;
selection-background-color: #EBF8FF;
selection-color: #1E40AF;
outline: none;
font-size: 13px;
}
QTableWidget::item {
padding: 12px 16px;
border: none;
background-color: transparent;
}
QTableWidget::item:selected {
background-color: #EBF8FF;
color: #1E40AF;
}
QTableWidget::item:hover {
background-color: #F8FAFC;
}
/* 表头样式 */
QHeaderView::section {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F9FAFB, stop:1 #F3F4F6);
color: #374151;
padding: 16px 12px;
border: none;
border-right: 1px solid #E5E7EB;
border-bottom: 2px solid #E5E7EB;
font-weight: 600;
font-size: 13px;
text-align: center;
}
QHeaderView::section:first {
border-top-left-radius: 8px;
}
QHeaderView::section:last {
border-top-right-radius: 8px;
border-right: none;
}
QHeaderView::section:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F3F4F6, stop:1 #E5E7EB);
}
/* ==================== 输入控件样式 ==================== */
QLineEdit {
background-color: #FFFFFF;
border: 2px solid #E5E7EB;
border-radius: 8px;
padding: 12px 16px;
color: #374151;
font-size: 14px;
font-weight: 400;
}
QLineEdit:focus {
border-color: #3B82F6;
background-color: #FEFEFF;
outline: none;
}
QLineEdit:hover {
border-color: #9CA3AF;
}
QTextEdit {
background-color: #FFFFFF;
border: 2px solid #E5E7EB;
border-radius: 8px;
padding: 16px;
color: #374151;
font-size: 14px;
line-height: 1.5;
}
QTextEdit:focus {
border-color: #3B82F6;
background-color: #FEFEFF;
outline: none;
}
/* ==================== 组合框样式 ==================== */
QComboBox {
background-color: #FFFFFF;
border: 2px solid #E5E7EB;
border-radius: 8px;
padding: 12px 16px;
color: #374151;
font-size: 14px;
min-width: 120px;
}
QComboBox:focus {
border-color: #3B82F6;
background-color: #FEFEFF;
}
QComboBox::drop-down {
border: none;
width: 32px;
}
QComboBox::down-arrow {
image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgNkw4IDEwTDEyIDYiIHN0cm9rZT0iIzM3NDE1MSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+);
width: 16px;
height: 16px;
}
QComboBox QAbstractItemView {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
color: #374151;
selection-background-color: #EBF8FF;
selection-color: #1E40AF;
padding: 4px;
}
QComboBox QAbstractItemView::item {
height: 36px;
padding: 8px 16px;
border: none;
border-radius: 6px;
}
QComboBox QAbstractItemView::item:hover {
background-color: #F8FAFC;
}
QComboBox QAbstractItemView::item:selected {
background-color: #EBF8FF;
color: #1E40AF;
}
/* ==================== 复选框样式 ==================== */
QCheckBox {
color: #374151;
spacing: 12px;
font-size: 14px;
}
QCheckBox::indicator {
width: 20px;
height: 20px;
border: 2px solid #E5E7EB;
border-radius: 4px;
background-color: #FFFFFF;
}
QCheckBox::indicator:hover {
border-color: #3B82F6;
background-color: #F8FAFC;
}
QCheckBox::indicator:checked {
background-color: #3B82F6;
border-color: #2563EB;
image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzIDRMNiAxMUwzIDgiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+);
}
QCheckBox::indicator:checked:hover {
background-color: #2563EB;
}
/* ==================== 进度条样式 ==================== */
QProgressBar {
background-color: #F3F4F6;
border: 1px solid #E5E7EB;
border-radius: 8px;
text-align: center;
color: #374151;
font-weight: 600;
font-size: 13px;
height: 24px;
}
QProgressBar::chunk {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #3B82F6, stop:1 #2563EB);
border-radius: 7px;
margin: 1px;
}
/* ==================== 滚动条样式 ==================== */
QScrollBar:vertical {
background-color: #F9FAFB;
width: 12px;
border-radius: 6px;
margin: 0px;
}
QScrollBar::handle:vertical {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #E5E7EB, stop:1 #D1D5DB);
border-radius: 6px;
min-height: 30px;
}
QScrollBar::handle:vertical:hover {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #3B82F6, stop:1 #2563EB);
}
QScrollBar::handle:vertical:pressed {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #2563EB, stop:1 #1D4ED8);
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
height: 0px;
background: none;
}
QScrollBar:horizontal {
background-color: #F9FAFB;
height: 12px;
border-radius: 6px;
margin: 0px;
}
QScrollBar::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #E5E7EB, stop:1 #D1D5DB);
border-radius: 6px;
min-width: 30px;
}
QScrollBar::handle:horizontal:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #3B82F6, stop:1 #2563EB);
}
QScrollBar::handle:horizontal:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #2563EB, stop:1 #1D4ED8);
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
width: 0px;
background: none;
}
/* ==================== 菜单样式 ==================== */
QMenu {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 8px;
color: #374151;
}
QMenu::item {
background-color: transparent;
padding: 12px 16px;
border-radius: 6px;
margin: 2px;
font-size: 14px;
}
QMenu::item:selected {
background-color: #EBF8FF;
color: #1E40AF;
}
QMenu::item:disabled {
color: #9CA3AF;
}
QMenu::separator {
height: 1px;
background-color: #E5E7EB;
margin: 8px 12px;
}
/* ==================== 状态栏样式 ==================== */
QStatusBar {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F9FAFB, stop:1 #F3F4F6);
border-top: 1px solid #E5E7EB;
color: #6B7280;
padding: 8px 16px;
font-size: 13px;
}
QStatusBar::item {
border: none;
}
/* ==================== 对话框样式 ==================== */
QDialog {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
}
QDialogButtonBox QPushButton {
min-width: 100px;
padding: 12px 24px;
}
/* ==================== 消息框样式 ==================== */
QMessageBox {
background-color: #FFFFFF;
color: #374151;
border-radius: 12px;
}
QMessageBox QLabel {
color: #374151;
font-size: 14px;
}
QMessageBox QPushButton {
min-width: 80px;
padding: 10px 20px;
}
/* ==================== 工具提示样式 ==================== */
QToolTip {
background-color: #1F2937;
color: #F9FAFB;
border: 1px solid #374151;
border-radius: 6px;
padding: 8px 12px;
font-size: 13px;
opacity: 240;
}
/* ==================== 分割器样式 ==================== */
QSplitter::handle {
background-color: #E5E7EB;
}
QSplitter::handle:horizontal {
width: 2px;
border-radius: 1px;
}
QSplitter::handle:vertical {
height: 2px;
border-radius: 1px;
}
QSplitter::handle:hover {
background-color: #3B82F6;
}
/* ==================== 特殊状态样式 ==================== */
/* 成功状态 */
.status-success {
color: #059669;
font-weight: 600;
}
/* 错误状态 */
.status-error {
color: #DC2626;
font-weight: 600;
}
/* 警告状态 */
.status-warning {
color: #D97706;
font-weight: 600;
}
/* 信息状态 */
.status-info {
color: #2563EB;
font-weight: 600;
}
/* ==================== 规程执行界面特殊样式 ==================== */
/* 规程信息卡片 */
QWidget#procedureInfoCard {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 24px;
margin: 12px;
}
/* 信息组标题 */
QLabel#infoGroupTitle {
font-size: 14px;
font-weight: 600;
color: #6B7280;
margin-bottom: 8px;
}
/* 信息组值 */
QLabel#infoGroupValue {
font-size: 16px;
font-weight: 600;
color: #1F2937;
padding: 12px 16px;
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
min-height: 20px;
}
/* 步骤表格特殊样式 */
QTableWidget#stepsTable {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 8px;
gridline-color: #F3F4F6;
}
QTableWidget#stepsTable::item {
padding: 16px 12px;
border: none;
background-color: transparent;
font-size: 13px;
}
QTableWidget#stepsTable::item:selected {
background-color: #EBF8FF;
color: #1E40AF;
}
QTableWidget#stepsTable::item:hover {
background-color: #F8FAFC;
}
/* 主步骤样式 */
QTableWidget#stepsTable::item[main_step="true"] {
background-color: #F0F9FF;
font-weight: 600;
color: #0C4A6E;
}
/* 子步骤样式 */
QTableWidget#stepsTable::item[sub_step="true"] {
background-color: #FEFEFE;
color: #374151;
}
/* 执行成功的步骤 */
QTableWidget#stepsTable::item[success="true"] {
background-color: rgba(16, 185, 129, 0.1);
color: #059669;
}
/* 执行失败的步骤 */
QTableWidget#stepsTable::item[success="false"] {
background-color: rgba(239, 68, 68, 0.1);
color: #DC2626;
}
/* =====
=============== 规程执行界面特殊样式 ==================== */
/* 规程信息网格布局 */
QWidget#procedureInfoGrid {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 24px;
margin: 12px;
}
/* 信息项容器 */
QWidget#infoItem {
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 16px;
margin: 8px;
}
/* 信息项标题 */
QLabel#infoItemTitle {
font-size: 12px;
font-weight: 600;
color: #6B7280;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* 信息项值 */
QLabel#infoItemValue {
font-size: 16px;
font-weight: 600;
color: #1F2937;
padding: 8px 0;
word-wrap: break-word;
}
/* 执行控制面板 */
QWidget#executionControlPanel {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 20px;
margin: 12px;
}
/* 状态指示器 */
QLabel#executionStatus {
font-size: 14px;
font-weight: 600;
padding: 8px 16px;
border-radius: 20px;
text-align: center;
}
/* 状态指示器 - 就绪 */
QLabel#executionStatus[status="ready"] {
background-color: #F3F4F6;
color: #374151;
border: 1px solid #D1D5DB;
}
/* 状态指示器 - 运行中 */
QLabel#executionStatus[status="running"] {
background-color: #ECFDF5;
color: #166534;
border: 1px solid #BBF7D0;
}
/* 状态指示器 - 暂停 */
QLabel#executionStatus[status="paused"] {
background-color: #FEF3C7;
color: #92400E;
border: 1px solid #FCD34D;
}
/* 状态指示器 - 完成 */
QLabel#executionStatus[status="completed"] {
background-color: #EBF8FF;
color: #1E40AF;
border: 1px solid #BFDBFE;
}
/* 状态指示器 - 错误 */
QLabel#executionStatus[status="error"] {
background-color: #FEF2F2;
color: #991B1B;
border: 1px solid #FECACA;
}
/* 进度指示器 */
QWidget#progressIndicator {
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 16px;
margin: 8px 0;
}
/* 进度标签 */
QLabel#progressLabel {
font-size: 14px;
font-weight: 500;
color: #374151;
margin-bottom: 8px;
}
/* 自定义进度条 */
QProgressBar#executionProgress {
background-color: #F3F4F6;
border: 1px solid #E5E7EB;
border-radius: 10px;
text-align: center;
color: #374151;
font-weight: 600;
font-size: 12px;
height: 20px;
}
QProgressBar#executionProgress::chunk {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #10B981, stop:1 #059669);
border-radius: 9px;
margin: 1px;
}
/* 时间显示 */
QLabel#timeDisplay {
font-size: 18px;
font-weight: 700;
color: #1F2937;
font-family: "Consolas", "Monaco", monospace;
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 12px 16px;
text-align: center;
}
/* 时间显示 - 警告状态 */
QLabel#timeDisplay[warning="true"] {
color: #D97706;
background-color: #FEF3C7;
border-color: #FCD34D;
}
/* 时间显示 - 危险状态 */
QLabel#timeDisplay[danger="true"] {
color: #DC2626;
background-color: #FEF2F2;
border-color: #FECACA;
}
/* 步骤详情面板 */
QWidget#stepDetailPanel {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 20px;
margin: 12px;
}
/* 步骤详情标题 */
QLabel#stepDetailTitle {
font-size: 16px;
font-weight: 600;
color: #1F2937;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 2px solid #E5E7EB;
}
/* 步骤描述 */
QLabel#stepDescription {
font-size: 14px;
color: #374151;
line-height: 1.6;
padding: 12px 16px;
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
word-wrap: break-word;
}
/* 执行日志 */
QTextEdit#executionLog {
background-color: #1F2937;
color: #F9FAFB;
border: 1px solid #374151;
border-radius: 8px;
font-family: "Consolas", "Monaco", "Courier New", monospace;
font-size: 12px;
padding: 12px;
line-height: 1.4;
}
/* 日志滚动条 */
QTextEdit#executionLog QScrollBar:vertical {
background-color: #374151;
width: 12px;
border-radius: 6px;
}
QTextEdit#executionLog QScrollBar::handle:vertical {
background-color: #6B7280;
border-radius: 6px;
min-height: 30px;
}
QTextEdit#executionLog QScrollBar::handle:vertical:hover {
background-color: #9CA3AF;
}
/* 操作历史表格 */
QTableWidget#operationHistory {
background-color: #FFFFFF;
alternate-background-color: #F8FAFC;
gridline-color: #F3F4F6;
border: 1px solid #E5E7EB;
border-radius: 8px;
selection-background-color: #EBF8FF;
selection-color: #1E40AF;
outline: none;
font-size: 13px;
}
QTableWidget#operationHistory::item {
padding: 12px 16px;
border: none;
background-color: transparent;
}
QTableWidget#operationHistory::item:selected {
background-color: #EBF8FF;
color: #1E40AF;
}
QTableWidget#operationHistory::item:hover {
background-color: #F8FAFC;
}
/* 操作历史表头 */
QTableWidget#operationHistory QHeaderView::section {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #F9FAFB, stop:1 #F3F4F6);
color: #374151;
padding: 16px 12px;
border: none;
border-right: 1px solid #E5E7EB;
border-bottom: 2px solid #E5E7EB;
font-weight: 600;
font-size: 13px;
text-align: center;
}
/* 快捷操作面板 */
QWidget#quickActionPanel {
background-color: #F8FAFC;
border: 1px solid #E5E7EB;
border-radius: 8px;
padding: 16px;
margin: 8px 0;
}
/* 快捷操作标题 */
QLabel#quickActionTitle {
font-size: 14px;
font-weight: 600;
color: #374151;
margin-bottom: 12px;
}
/* 快捷操作按钮组 */
QWidget#quickActionButtons {
background-color: transparent;
}
/* 小型按钮样式 */
QPushButton#smallBtn {
padding: 8px 12px;
font-size: 12px;
min-width: 60px;
min-height: 28px;
border-radius: 6px;
}
/* 图标按钮样式 */
QPushButton#iconBtn {
padding: 10px;
min-width: 40px;
min-height: 40px;
border-radius: 8px;
font-size: 16px;
}
QPushButton#iconBtn:hover {
transform: scale(1.05);
}
/* 浮动操作按钮 */
QPushButton#fabBtn {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #3B82F6, stop:1 #2563EB);
border: none;
border-radius: 28px;
color: #FFFFFF;
font-size: 18px;
font-weight: 600;
min-width: 56px;
min-height: 56px;
padding: 0;
}
QPushButton#fabBtn:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #2563EB, stop:1 #1D4ED8);
}
QPushButton#fabBtn:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #1D4ED8, stop:1 #1E40AF);
}
/* 通知横幅 */
QWidget#notificationBanner {
background-color: #EBF8FF;
border: 1px solid #93C5FD;
border-radius: 8px;
padding: 12px 16px;
margin: 8px 0;
}
/* 通知横幅 - 成功 */
QWidget#notificationBanner[type="success"] {
background-color: #ECFDF5;
border-color: #BBF7D0;
}
/* 通知横幅 - 警告 */
QWidget#notificationBanner[type="warning"] {
background-color: #FEF3C7;
border-color: #FCD34D;
}
/* 通知横幅 - 错误 */
QWidget#notificationBanner[type="error"] {
background-color: #FEF2F2;
border-color: #FECACA;
}
/* 通知文本 */
QLabel#notificationText {
font-size: 14px;
font-weight: 500;
color: #374151;
}
/* 通知文本 - 成功 */
QLabel#notificationText[type="success"] {
color: #166534;
}
/* 通知文本 - 警告 */
QLabel#notificationText[type="warning"] {
color: #92400E;
}
/* 通知文本 - 错误 */
QLabel#notificationText[type="error"] {
color: #991B1B;
}
/* 数据统计卡片 */
QWidget#statsCard {
background-color: #FFFFFF;
border: 1px solid #E5E7EB;
border-radius: 12px;
padding: 20px;
margin: 8px;
min-width: 200px;
}
/* 统计数值 */
QLabel#statsValue {
font-size: 32px;
font-weight: 700;
color: #1F2937;
text-align: center;
}
/* 统计标签 */
QLabel#statsLabel {
font-size: 14px;
font-weight: 500;
color: #6B7280;
text-align: center;
margin-top: 8px;
}
/* 统计变化指示器 */
QLabel#statsChange {
font-size: 12px;
font-weight: 600;
padding: 4px 8px;
border-radius: 12px;
text-align: center;
margin-top: 8px;
}
/* 统计变化 - 上升 */
QLabel#statsChange[trend="up"] {
background-color: #ECFDF5;
color: #166534;
}
/* 统计变化 - 下降 */
QLabel#statsChange[trend="down"] {
background-color: #FEF2F2;
color: #991B1B;
}
/* 统计变化 - 持平 */
QLabel#statsChange[trend="stable"] {
background-color: #F3F4F6;
color: #6B7280;
}