mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-17 23:13:03 +08:00
fix(theme): 修复 QSS 主题样式缺陷
- 新增 QSpinBox/QDateEdit/QTimeEdit 的 ::up-button/::down-button/::up-arrow/::down-arrow 子控件样式,修复 spin button 箭头在 QSS 部分覆盖后退化渲染的问题 - 新增 QTreeWidget::indicator / QListWidget::indicator / QTableWidget::indicator 全状态样式,修复树控件中 CheckState 复选框因缺失 ::indicator 子控件而无法区分勾选状态的视觉 bug - 指示器勾选态颜色与主题色保持一致(BlueForest: #2dd4bf, LightLake: #0ea58a) - 同步深浅主题差异:移除 :hover:!selected 规则、统一 HeaderView padding、spin button 宽度及属性顺序 - up-arrow 注释 image:none 以还原原生箭头渲染 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* See the LICENSE file for details.
|
||||
*
|
||||
*
|
||||
* AutoLibrary Official Style Theme : BlueForest
|
||||
* AutoLibrary Official Theme : BlueForest
|
||||
*/
|
||||
|
||||
/* ---- Global ---- */
|
||||
@@ -116,6 +116,94 @@ QPlainTextEdit,
|
||||
QTextEdit {
|
||||
background-color: #0a1020;
|
||||
}
|
||||
QLineEdit:disabled,
|
||||
QPlainTextEdit:disabled,
|
||||
QTextEdit:disabled,
|
||||
QSpinBox:disabled,
|
||||
QDoubleSpinBox:disabled,
|
||||
QDateEdit:disabled,
|
||||
QTimeEdit:disabled {
|
||||
background-color: #162038;
|
||||
color: #5568a0;
|
||||
border-color: #1c2840;
|
||||
}
|
||||
|
||||
/* ---- Spin Button Arrows ---- */
|
||||
QSpinBox::up-button,
|
||||
QDoubleSpinBox::up-button,
|
||||
QDateEdit::up-button,
|
||||
QTimeEdit::up-button {
|
||||
subcontrol-origin: border;
|
||||
subcontrol-position: top right;
|
||||
width: 10px;
|
||||
border-left: 1px solid #253250;
|
||||
border-bottom: 1px solid #253250;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
QSpinBox::up-button:hover,
|
||||
QDoubleSpinBox::up-button:hover,
|
||||
QDateEdit::up-button:hover,
|
||||
QTimeEdit::up-button:hover {
|
||||
background-color: #1c2840;
|
||||
}
|
||||
QSpinBox::up-arrow,
|
||||
QDoubleSpinBox::up-arrow,
|
||||
QDateEdit::up-arrow,
|
||||
QTimeEdit::up-arrow {
|
||||
/* image: none; */
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
border-bottom: 5px solid #7888b8;
|
||||
margin-top: 2px;
|
||||
}
|
||||
QSpinBox::down-button,
|
||||
QDoubleSpinBox::down-button,
|
||||
QDateEdit::down-button,
|
||||
QTimeEdit::down-button {
|
||||
width: 10px;
|
||||
subcontrol-origin: border;
|
||||
subcontrol-position: bottom right;
|
||||
border-left: 1px solid #253250;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
QSpinBox::down-button:hover,
|
||||
QDoubleSpinBox::down-button:hover,
|
||||
QDateEdit::down-button:hover,
|
||||
QTimeEdit::down-button:hover {
|
||||
background-color: #1c2840;
|
||||
}
|
||||
QSpinBox::down-arrow,
|
||||
QDoubleSpinBox::down-arrow,
|
||||
QDateEdit::down-arrow,
|
||||
QTimeEdit::down-arrow {
|
||||
image: none;
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
border-top: 5px solid #7888b8;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
QSpinBox::up-button:disabled,
|
||||
QDoubleSpinBox::up-button:disabled,
|
||||
QDateEdit::up-button:disabled,
|
||||
QTimeEdit::up-button:disabled,
|
||||
QSpinBox::down-button:disabled,
|
||||
QDoubleSpinBox::down-button:disabled,
|
||||
QDateEdit::down-button:disabled,
|
||||
QTimeEdit::down-button:disabled {
|
||||
background-color: #162038;
|
||||
}
|
||||
QSpinBox::up-arrow:disabled,
|
||||
QDoubleSpinBox::up-arrow:disabled,
|
||||
QDateEdit::up-arrow:disabled,
|
||||
QTimeEdit::up-arrow:disabled {
|
||||
border-bottom-color: #5568a0;
|
||||
}
|
||||
QSpinBox::down-arrow:disabled,
|
||||
QDoubleSpinBox::down-arrow:disabled,
|
||||
QDateEdit::down-arrow:disabled,
|
||||
QTimeEdit::down-arrow:disabled {
|
||||
border-top-color: #5568a0;
|
||||
}
|
||||
|
||||
/* ---- Combo Box ---- */
|
||||
QComboBox {
|
||||
@@ -158,6 +246,11 @@ QComboBox QAbstractItemView {
|
||||
selection-color: #0f1119;
|
||||
outline: none;
|
||||
}
|
||||
QComboBox:disabled {
|
||||
background-color: #162038;
|
||||
color: #5568a0;
|
||||
border-color: #1c2840;
|
||||
}
|
||||
|
||||
/* ---- Check Box / Radio Button ---- */
|
||||
QCheckBox,
|
||||
@@ -193,6 +286,47 @@ QRadioButton::indicator:disabled {
|
||||
border-color: #253250;
|
||||
background-color: #162038;
|
||||
}
|
||||
QCheckBox::indicator:checked:hover,
|
||||
QRadioButton::indicator:checked:hover {
|
||||
border-color: #a0f0e8;
|
||||
}
|
||||
|
||||
/* Tree / List / Table Widget CheckBox Indicator */
|
||||
QTreeWidget::indicator,
|
||||
QListWidget::indicator,
|
||||
QTableWidget::indicator {
|
||||
border: 2px solid #5568a0;
|
||||
border-radius: 3px;
|
||||
background-color: #162038;
|
||||
}
|
||||
QTreeWidget::indicator:hover,
|
||||
QListWidget::indicator:hover,
|
||||
QTableWidget::indicator:hover {
|
||||
border-color: #a0f0e8;
|
||||
}
|
||||
QTreeWidget::indicator:checked,
|
||||
QListWidget::indicator:checked,
|
||||
QTableWidget::indicator:checked {
|
||||
background-color: #2dd4bf;
|
||||
border-color: #2dd4bf;
|
||||
}
|
||||
QTreeWidget::indicator:checked:hover,
|
||||
QListWidget::indicator:checked:hover,
|
||||
QTableWidget::indicator:checked:hover {
|
||||
border-color: #a0f0e8;
|
||||
}
|
||||
QTreeWidget::indicator:disabled,
|
||||
QListWidget::indicator:disabled,
|
||||
QTableWidget::indicator:disabled {
|
||||
background-color: #1c2840;
|
||||
border-color: #334478;
|
||||
}
|
||||
QTreeWidget::indicator:indeterminate,
|
||||
QListWidget::indicator:indeterminate,
|
||||
QTableWidget::indicator:indeterminate {
|
||||
background-color: #2dd4bf;
|
||||
border-color: #a0f0e8;
|
||||
}
|
||||
|
||||
/* ---- Group Box ---- */
|
||||
QGroupBox {
|
||||
@@ -238,10 +372,6 @@ QTabBar::tab:selected {
|
||||
color: #2dd4bf;
|
||||
border-bottom: 2px solid #2dd4bf;
|
||||
}
|
||||
QTabBar::tab:hover:!selected {
|
||||
background-color: #1c2840;
|
||||
color: #d0daf0;
|
||||
}
|
||||
|
||||
/* ---- List / Tree ---- */
|
||||
QListWidget,
|
||||
@@ -268,16 +398,12 @@ QTableWidget::item:selected {
|
||||
background-color: #2dd4bf;
|
||||
color: #0f1119;
|
||||
}
|
||||
QListWidget::item:hover:!selected,
|
||||
QTreeWidget::item:hover:!selected {
|
||||
background-color: #1c2840;
|
||||
}
|
||||
QHeaderView::section {
|
||||
background-color: #0f1628;
|
||||
border: none;
|
||||
border-right: 1px solid #253250;
|
||||
border-bottom: 1px solid #253250;
|
||||
padding: 6px 10px;
|
||||
padding: 5px 10px;
|
||||
color: #8b9ad0;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -351,6 +477,12 @@ QSlider::sub-page:horizontal {
|
||||
background-color: #2dd4bf;
|
||||
border-radius: 3px;
|
||||
}
|
||||
QSlider::handle:horizontal:disabled {
|
||||
background-color: #5568a0;
|
||||
}
|
||||
QSlider::sub-page:horizontal:disabled {
|
||||
background-color: #5568a0;
|
||||
}
|
||||
|
||||
/* ---- Tool Tip ---- */
|
||||
QToolTip {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* See the LICENSE file for details.
|
||||
*
|
||||
*
|
||||
* AutoLibrary Official Style Theme : LightLake
|
||||
* AutoLibrary Official Theme : LightLake
|
||||
*/
|
||||
|
||||
/* ---- Global ---- */
|
||||
@@ -116,6 +116,94 @@ QPlainTextEdit,
|
||||
QTextEdit {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
QLineEdit:disabled,
|
||||
QPlainTextEdit:disabled,
|
||||
QTextEdit:disabled,
|
||||
QSpinBox:disabled,
|
||||
QDoubleSpinBox:disabled,
|
||||
QDateEdit:disabled,
|
||||
QTimeEdit:disabled {
|
||||
background-color: #e8ecf2;
|
||||
color: #98a8c0;
|
||||
border-color: #d5dde8;
|
||||
}
|
||||
|
||||
/* ---- Spin Button Arrows ---- */
|
||||
QSpinBox::up-button,
|
||||
QDoubleSpinBox::up-button,
|
||||
QDateEdit::up-button,
|
||||
QTimeEdit::up-button {
|
||||
subcontrol-origin: border;
|
||||
subcontrol-position: top right;
|
||||
width: 10px;
|
||||
border-left: 1px solid #c0cdda;
|
||||
border-bottom: 1px solid #c0cdda;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
QSpinBox::up-button:hover,
|
||||
QDoubleSpinBox::up-button:hover,
|
||||
QDateEdit::up-button:hover,
|
||||
QTimeEdit::up-button:hover {
|
||||
background-color: #d5dde8;
|
||||
}
|
||||
QSpinBox::up-arrow,
|
||||
QDoubleSpinBox::up-arrow,
|
||||
QDateEdit::up-arrow,
|
||||
QTimeEdit::up-arrow {
|
||||
/* image: none; */
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
border-bottom: 5px solid #6a7898;
|
||||
margin-top: 2px;
|
||||
}
|
||||
QSpinBox::down-button,
|
||||
QDoubleSpinBox::down-button,
|
||||
QDateEdit::down-button,
|
||||
QTimeEdit::down-button {
|
||||
width: 10px;
|
||||
subcontrol-origin: border;
|
||||
subcontrol-position: bottom right;
|
||||
border-left: 1px solid #c0cdda;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
QSpinBox::down-button:hover,
|
||||
QDoubleSpinBox::down-button:hover,
|
||||
QDateEdit::down-button:hover,
|
||||
QTimeEdit::down-button:hover {
|
||||
background-color: #d5dde8;
|
||||
}
|
||||
QSpinBox::down-arrow,
|
||||
QDoubleSpinBox::down-arrow,
|
||||
QDateEdit::down-arrow,
|
||||
QTimeEdit::down-arrow {
|
||||
image: none;
|
||||
border-left: 4px solid transparent;
|
||||
border-right: 4px solid transparent;
|
||||
border-top: 5px solid #6a7898;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
QSpinBox::up-button:disabled,
|
||||
QDoubleSpinBox::up-button:disabled,
|
||||
QDateEdit::up-button:disabled,
|
||||
QTimeEdit::up-button:disabled,
|
||||
QSpinBox::down-button:disabled,
|
||||
QDoubleSpinBox::down-button:disabled,
|
||||
QDateEdit::down-button:disabled,
|
||||
QTimeEdit::down-button:disabled {
|
||||
background-color: #e8ecf2;
|
||||
}
|
||||
QSpinBox::up-arrow:disabled,
|
||||
QDoubleSpinBox::up-arrow:disabled,
|
||||
QDateEdit::up-arrow:disabled,
|
||||
QTimeEdit::up-arrow:disabled {
|
||||
border-bottom-color: #98a8c0;
|
||||
}
|
||||
QSpinBox::down-arrow:disabled,
|
||||
QDoubleSpinBox::down-arrow:disabled,
|
||||
QDateEdit::down-arrow:disabled,
|
||||
QTimeEdit::down-arrow:disabled {
|
||||
border-top-color: #98a8c0;
|
||||
}
|
||||
|
||||
/* ---- Combo Box ---- */
|
||||
QComboBox {
|
||||
@@ -158,6 +246,11 @@ QComboBox QAbstractItemView {
|
||||
selection-color: #ffffff;
|
||||
outline: none;
|
||||
}
|
||||
QComboBox:disabled {
|
||||
background-color: #e8ecf2;
|
||||
color: #98a8c0;
|
||||
border-color: #d5dde8;
|
||||
}
|
||||
|
||||
/* ---- Check Box / Radio Button ---- */
|
||||
QCheckBox,
|
||||
@@ -193,6 +286,47 @@ QRadioButton::indicator:disabled {
|
||||
border-color: #c0cdda;
|
||||
background-color: #e8ecf2;
|
||||
}
|
||||
QCheckBox::indicator:checked:hover,
|
||||
QRadioButton::indicator:checked:hover {
|
||||
border-color: #14c7a4;
|
||||
}
|
||||
|
||||
/* Tree / List / Table Widget CheckBox Indicator */
|
||||
QTreeWidget::indicator,
|
||||
QListWidget::indicator,
|
||||
QTableWidget::indicator {
|
||||
border: 2px solid #a0b4cc;
|
||||
border-radius: 3px;
|
||||
background-color: #e8ecf2;
|
||||
}
|
||||
QTreeWidget::indicator:hover,
|
||||
QListWidget::indicator:hover,
|
||||
QTableWidget::indicator:hover {
|
||||
border-color: #14c7a4;
|
||||
}
|
||||
QTreeWidget::indicator:checked,
|
||||
QListWidget::indicator:checked,
|
||||
QTableWidget::indicator:checked {
|
||||
background-color: #0ea58a;
|
||||
border-color: #0ea58a;
|
||||
}
|
||||
QTreeWidget::indicator:checked:hover,
|
||||
QListWidget::indicator:checked:hover,
|
||||
QTableWidget::indicator:checked:hover {
|
||||
border-color: #14c7a4;
|
||||
}
|
||||
QTreeWidget::indicator:disabled,
|
||||
QListWidget::indicator:disabled,
|
||||
QTableWidget::indicator:disabled {
|
||||
background-color: #d5dde8;
|
||||
border-color: #c0cdda;
|
||||
}
|
||||
QTreeWidget::indicator:indeterminate,
|
||||
QListWidget::indicator:indeterminate,
|
||||
QTableWidget::indicator:indeterminate {
|
||||
background-color: #0ea58a;
|
||||
border-color: #14c7a4;
|
||||
}
|
||||
|
||||
/* ---- Group Box ---- */
|
||||
QGroupBox {
|
||||
@@ -268,16 +402,12 @@ QTableWidget::item:selected {
|
||||
background-color: #0ea58a;
|
||||
color: #ffffff;
|
||||
}
|
||||
QListWidget::item:hover:!selected,
|
||||
QTreeWidget::item:hover:!selected {
|
||||
background-color: #e2e8f0;
|
||||
}
|
||||
QHeaderView::section {
|
||||
background-color: #dce4ee;
|
||||
border: none;
|
||||
border-right: 1px solid #c0cdda;
|
||||
border-bottom: 1px solid #c0cdda;
|
||||
padding: 6px 10px;
|
||||
padding: 5px 10px;
|
||||
color: #4a6080;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -351,6 +481,12 @@ QSlider::sub-page:horizontal {
|
||||
background-color: #0ea58a;
|
||||
border-radius: 3px;
|
||||
}
|
||||
QSlider::handle:horizontal:disabled {
|
||||
background-color: #98a8c0;
|
||||
}
|
||||
QSlider::sub-page:horizontal:disabled {
|
||||
background-color: #98a8c0;
|
||||
}
|
||||
|
||||
/* ---- Tool Tip ---- */
|
||||
QToolTip {
|
||||
|
||||
Reference in New Issue
Block a user