/* HIS-GUI 精致医疗主题 - Premium Healthcare UI */ /* 设计理念: 现代、简洁、专业、温和的医疗感 */ * { /* 统一的基础设置 */ outline: none; } /* ========== 全局基础样式 ========== */ QMainWindow, QWidget, QDialog, QFrame { background-color: #f8fafc; font-family: "Inter", "Microsoft YaHei", "PingFang SC", -apple-system, sans-serif; font-size: 14px; color: #1a202c; letter-spacing: 0.01em; } /* ========== 主窗口特殊处理 ========== */ QMainWindow { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f8fafc 0%, stop:1 #edf2f7 100%); } /* ========== 菜单栏 - 毛玻璃效果风格 ========== */ QMenuBar { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2d3748 0%, stop:1 #1a202c 100%); color: #f7fafc; padding: 8px 12px; border-bottom: 1px solid #4a5568; } QMenuBar::item { background: transparent; padding: 8px 16px; margin: 0 4px; border-radius: 6px; color: #e2e8f0; } QMenuBar::item:selected { background: rgba(255, 255, 255, 0.1); color: #ffffff; } QMenuBar::item:pressed { background: rgba(255, 255, 255, 0.15); } QMenu { background: rgba(255, 255, 255, 0.98); border: 1px solid rgba(226, 232, 240, 0.8); border-radius: 10px; padding: 8px 4px; /* 轻微阴影效果 */ outline: 0; } QMenu::item { padding: 10px 32px 10px 20px; border-radius: 6px; margin: 2px 6px; color: #2d3748; } QMenu::item:selected { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #ebf8ff 0%, stop:1 #e6fffa 100%); color: #234e52; } /* ========== 工具栏 ========== */ QToolBar { background: rgba(255, 255, 255, 0.9); border: none; border-bottom: 1px solid #e2e8f0; padding: 10px 16px; spacing: 12px; } QToolBar::separator { background: #e2e8f0; width: 1px; height: 24px; margin: 0 8px; } /* ========== 侧边导航栏 - 精美国风 ========== */ QListWidget { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1a365d 0%, stop:0.5 #2c5282 50%, stop:1 #2b6cb0 100%); border: none; border-right: 1px solid #2c5282; padding: 16px 0; outline: 0; } QListWidget::item { color: #bee3f8; padding: 14px 28px; margin: 4px 12px; border-radius: 10px; font-size: 15px; font-weight: 500; /* 图标和文字间距 */ spacing: 12px; } QListWidget::item:selected { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255,255,255,0.15) 0%, stop:1 rgba(255,255,255,0.25) 100%); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.2); } QListWidget::item:hover:!selected { background: rgba(255, 255, 255, 0.08); color: #e2e8f0; } /* ========== 按钮系统 - 精致圆角 ========== */ QPushButton { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4299e1 0%, stop:1 #3182ce 100%); color: #ffffff; border: none; border-radius: 8px; padding: 10px 22px; font-size: 14px; font-weight: 500; min-width: 85px; /* 轻微边框增加层次 */ border: 1px solid rgba(66, 153, 225, 0.5); } QPushButton:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3182ce 0%, stop:1 #2b6cb0 100%); border: 1px solid rgba(66, 153, 225, 0.8); } QPushButton:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2b6cb0 0%, stop:1 #2c5282 100%); } QPushButton:disabled { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #cbd5e0 0%, stop:1 #a0aec0 100%); color: #718096; border-color: transparent; } /* 主要操作按钮 - 增强版 */ QPushButton[class="primary"] { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4299e1 0%, stop:1 #3182ce 100%); border: 1px solid rgba(66, 153, 225, 0.5); } QPushButton[class="primary"]:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3182ce 0%, stop:1 #2b6cb0 100%); } /* 次要操作按钮 - 柔和灰 */ QPushButton[class="secondary"] { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #edf2f7 0%, stop:1 #e2e8f0 100%); color: #4a5568; border: 1px solid #cbd5e0; } QPushButton[class="secondary"]:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #e2e8f0 0%, stop:1 #cbd5e0 100%); color: #2d3748; } /* 成功按钮 - 翡翠绿 */ QPushButton[class="success"] { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #48bb78 0%, stop:1 #38a169 100%); border: 1px solid rgba(72, 187, 120, 0.5); } QPushButton[class="success"]:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #38a169 0%, stop:1 #2f855a 100%); } /* 警告按钮 - 琥珀橙 */ QPushButton[class="warning"] { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ed8936 0%, stop:1 #dd6b20 100%); border: 1px solid rgba(237, 137, 54, 0.5); } QPushButton[class="warning"]:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #dd6b20 0%, stop:1 #c05621 100%); } /* 危险按钮 - 珊瑚红 */ QPushButton[class="danger"] { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #fc8181 0%, stop:1 #f56565 100%); border: 1px solid rgba(252, 129, 129, 0.5); } QPushButton[class="danger"]:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f56565 0%, stop:1 #e53e3e 100%); } /* ========== 输入框系统 ========== */ QLineEdit, QTextEdit, QPlainTextEdit { background-color: #ffffff; border: 2px solid #e2e8f0; border-radius: 10px; padding: 12px 16px; color: #1a202c; selection-background-color: #4299e1; selection-color: #ffffff; /* 输入框内部padding */ font-size: 14px; } QLineEdit:hover, QTextEdit:hover, QPlainTextEdit:hover { border-color: #cbd5e0; } QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus { border: 2px solid #4299e1; background-color: #f7fafc; /* 聚焦时的微妙光晕 */ border-shadow: 0 0 0 3px rgba(66, 153, 225, 0.15); } QLineEdit:disabled, QTextEdit:disabled, QPlainTextEdit:disabled { background-color: #f7fafc; color: #a0aec0; border-color: #e2e8f0; } /* ========== 下拉框 ========== */ QComboBox { background-color: #ffffff; border: 2px solid #e2e8f0; border-radius: 10px; padding: 12px 16px; color: #1a202c; min-width: 110px; font-size: 14px; } QComboBox:hover { border-color: #cbd5e0; } QComboBox:focus, QComboBox:on { border: 2px solid #4299e1; border-shadow: 0 0 0 3px rgba(66, 153, 225, 0.15); } QComboBox::drop-down { border: none; width: 36px; subcontrol-origin: padding; subcontrol-position: right center; } QComboBox::down-arrow { image: none; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid #718096; margin-right: 12px; } QComboBox QAbstractItemView { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 10px; selection-background-color: #ebf8ff; selection-color: #2b6cb0; padding: 8px; outline: 0; } QComboBox QAbstractItemView::item { padding: 10px 16px; border-radius: 6px; margin: 2px 4px; } /* ========== SpinBox ========== */ QSpinBox, QDoubleSpinBox { background-color: #ffffff; border: 2px solid #e2e8f0; border-radius: 10px; padding: 10px 14px; color: #1a202c; font-size: 14px; } QSpinBox:focus, QDoubleSpinBox:focus { border: 2px solid #4299e1; border-shadow: 0 0 0 3px rgba(66, 153, 225, 0.15); } QSpinBox::up-button, QDoubleSpinBox::up-button, QSpinBox::down-button, QDoubleSpinBox::down-button { background: transparent; border: none; width: 24px; } /* ========== 表格 - 精致卡片风格 ========== */ QTableWidget, QTableView { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; gridline-color: #f1f5f9; selection-background-color: #ebf8ff; selection-color: #2b6cb0; outline: 0; /* 表格圆角效果 */ border-top-left-radius: 12px; border-top-right-radius: 12px; } QTableWidget::item, QTableView::item { padding: 14px 12px; border-bottom: 1px solid #f1f5f9; color: #2d3748; } QTableWidget::item:selected, QTableView::item:selected { background-color: #ebf8ff; color: #2b6cb0; } QTableWidget::item:hover, QTableView::item:hover { background-color: #f7fafc; } /* 表头 - 深蓝渐变 */ QHeaderView::section { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2d3748 0%, stop:1 #1a202c 100%); color: #ffffff; padding: 14px 12px; border: none; border-right: 1px solid #4a5568; font-weight: 600; text-align: left; } QHeaderView::section:last { border-right: none; border-top-right-radius: 12px; } QHeaderView::section:first { border-top-left-radius: 12px; } QHeaderView::section:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4a5568 0%, stop:1 #2d3748 100%); } /* ========== 树形控件 ========== */ QTreeWidget, QTreeView { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; outline: 0; } QTreeWidget::item, QTreeView::item { padding: 10px 8px; border-bottom: 1px solid #f1f5f9; color: #2d3748; } QTreeWidget::item:hover, QTreeView::item:hover { background-color: #f7fafc; } QTreeWidget::item:selected, QTreeView::item:selected { background-color: #ebf8ff; color: #2b6cb0; } /* ========== Tab标签页 ========== */ QTabWidget::pane { border: 1px solid #e2e8f0; border-radius: 12px; background-color: #ffffff; margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 12px; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; } QTabBar::tab { background-color: #f7fafc; color: #718096; padding: 12px 28px; margin-right: 4px; border-top-left-radius: 10px; border-top-right-radius: 10px; font-weight: 500; font-size: 14px; border: 1px solid #e2e8f0; border-bottom: none; } QTabBar::tab:selected { background-color: #ffffff; color: #2b6cb0; border: 1px solid #e2e8f0; border-bottom: 2px solid #ffffff; margin-bottom: -1px; } QTabBar::tab:hover:!selected { background-color: #edf2f7; color: #4a5568; } /* ========== 组框 - 卡片风格 ========== */ QGroupBox { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-top: 18px; padding: 20px; padding-top: 30px; font-weight: 600; color: #2d3748; } QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; left: 20px; padding: 0 14px; background-color: #ffffff; color: #2b6cb0; } /* ========== 标签 ========== */ QLabel { color: #2d3748; background-color: transparent; } QLabel[heading="true"] { font-size: 20px; font-weight: 700; color: #1a202c; padding: 4px 0; } QLabel[subheading="true"] { font-size: 16px; font-weight: 600; color: #4a5568; padding: 2px 0; } /* ========== 滚动条 - 精致细条 ========== */ QScrollBar:vertical { background-color: transparent; width: 10px; margin: 8px 4px; border-radius: 5px; } QScrollBar::handle:vertical { background-color: #cbd5e0; border-radius: 5px; min-height: 40px; margin: 0 2px; } QScrollBar::handle:vertical:hover { background-color: #a0aec0; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0; border: none; } QScrollBar:horizontal { background-color: transparent; height: 10px; margin: 4px 8px; border-radius: 5px; } QScrollBar::handle:horizontal { background-color: #cbd5e0; border-radius: 5px; min-width: 40px; margin: 2px 0; } QScrollBar::handle:horizontal:hover { background-color: #a0aec0; } QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0; border: none; } /* ========== 进度条 ========== */ QProgressBar { background-color: #edf2f7; border: none; border-radius: 8px; height: 12px; text-align: center; color: #4a5568; font-weight: 600; font-size: 12px; } QProgressBar::chunk { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #4299e1 0%, stop:1 #48bb78 100%); border-radius: 8px; } /* ========== 滑块 ========== */ QSlider::groove:horizontal { border: none; height: 6px; background-color: #e2e8f0; border-radius: 3px; } QSlider::handle:horizontal { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffffff 0%, stop:1 #e2e8f0 100%); border: 2px solid #4299e1; width: 20px; height: 20px; margin: -7px 0; border-radius: 10px; } QSlider::handle:horizontal:hover { border-color: #3182ce; } QSlider::sub-page:horizontal { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #4299e1 0%, stop:1 #48bb78 100%); border-radius: 3px; } /* ========== 复选框 ========== */ QCheckBox { spacing: 12px; color: #2d3748; font-size: 14px; } QCheckBox::indicator { width: 20px; height: 20px; border: 2px solid #cbd5e0; border-radius: 5px; background-color: #ffffff; } QCheckBox::indicator:checked { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4299e1 0%, stop:1 #3182ce 100%); border-color: #4299e1; image: none; } QCheckBox::indicator:hover { border-color: #4299e1; } /* ========== 单选按钮 ========== */ QRadioButton { spacing: 12px; color: #2d3748; font-size: 14px; } QRadioButton::indicator { width: 20px; height: 20px; border: 2px solid #cbd5e0; border-radius: 10px; background-color: #ffffff; } QRadioButton::indicator:checked { background-color: #ffffff; border-color: #4299e1; border-width: 4px; } QRadioButton::indicator:hover { border-color: #4299e1; } /* ========== 工具提示 ========== */ QToolTip { background-color: #1a202c; color: #ffffff; border: none; border-radius: 6px; padding: 8px 14px; font-size: 13px; font-weight: 500; } /* ========== 状态栏 ========== */ QStatusBar { background-color: #ffffff; border-top: 1px solid #e2e8f0; color: #718096; padding: 8px 12px; font-size: 13px; } QStatusBar::item { border: none; } /* ========== 日期选择器 ========== */ QDateEdit, QDateTimeEdit { background-color: #ffffff; border: 2px solid #e2e8f0; border-radius: 10px; padding: 10px 14px; color: #1a202c; font-size: 14px; } QDateEdit:focus, QDateTimeEdit:focus { border: 2px solid #4299e1; border-shadow: 0 0 0 3px rgba(66, 153, 225, 0.15); } /* ========== 消息框 ========== */ QMessageBox { background-color: #ffffff; border-radius: 12px; } QMessageBox QLabel { color: #2d3748; padding: 12px; font-size: 14px; } QMessageBox QPushButton { min-width: 100px; } /* ========== 对话框按钮 ========== */ QDialogButtonBox { spacing: 12px; } QDialogButtonBox QPushButton { min-width: 100px; padding: 10px 20px; } /* ========== 工具提示 ========== */ QToolTip { background-color: #2d3748; color: #ffffff; border: none; border-radius: 6px; padding: 8px 12px; font-size: 13px; } /* ========== 列表视图 ========== */ QListView { background-color: #ffffff; border: 1px solid #e2e8f0; border-radius: 10px; outline: 0; } QListView::item { padding: 10px 16px; border-bottom: 1px solid #f1f5f9; } QListView::item:hover { background-color: #f7fafc; } QListView::item:selected { background-color: #ebf8ff; color: #2b6cb0; } /* ========== 滚动区域 ========== */ QScrollArea { background-color: transparent; border: none; } QScrollArea > QWidget > QWidget { background-color: transparent; } /* ========== 框架 ========== */ QFrame[frameShape="4"], QFrame[frameShape="5"] { border: none; background-color: #e2e8f0; }