mirror of
https://github.com/KenanZhu/AutoLibrary.git
synced 2026-06-18 07:23: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.
|
* See the LICENSE file for details.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* AutoLibrary Official Style Theme : BlueForest
|
* AutoLibrary Official Theme : BlueForest
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ---- Global ---- */
|
/* ---- Global ---- */
|
||||||
@@ -116,6 +116,94 @@ QPlainTextEdit,
|
|||||||
QTextEdit {
|
QTextEdit {
|
||||||
background-color: #0a1020;
|
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 ---- */
|
/* ---- Combo Box ---- */
|
||||||
QComboBox {
|
QComboBox {
|
||||||
@@ -158,6 +246,11 @@ QComboBox QAbstractItemView {
|
|||||||
selection-color: #0f1119;
|
selection-color: #0f1119;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
QComboBox:disabled {
|
||||||
|
background-color: #162038;
|
||||||
|
color: #5568a0;
|
||||||
|
border-color: #1c2840;
|
||||||
|
}
|
||||||
|
|
||||||
/* ---- Check Box / Radio Button ---- */
|
/* ---- Check Box / Radio Button ---- */
|
||||||
QCheckBox,
|
QCheckBox,
|
||||||
@@ -193,6 +286,47 @@ QRadioButton::indicator:disabled {
|
|||||||
border-color: #253250;
|
border-color: #253250;
|
||||||
background-color: #162038;
|
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 ---- */
|
/* ---- Group Box ---- */
|
||||||
QGroupBox {
|
QGroupBox {
|
||||||
@@ -238,10 +372,6 @@ QTabBar::tab:selected {
|
|||||||
color: #2dd4bf;
|
color: #2dd4bf;
|
||||||
border-bottom: 2px solid #2dd4bf;
|
border-bottom: 2px solid #2dd4bf;
|
||||||
}
|
}
|
||||||
QTabBar::tab:hover:!selected {
|
|
||||||
background-color: #1c2840;
|
|
||||||
color: #d0daf0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---- List / Tree ---- */
|
/* ---- List / Tree ---- */
|
||||||
QListWidget,
|
QListWidget,
|
||||||
@@ -268,16 +398,12 @@ QTableWidget::item:selected {
|
|||||||
background-color: #2dd4bf;
|
background-color: #2dd4bf;
|
||||||
color: #0f1119;
|
color: #0f1119;
|
||||||
}
|
}
|
||||||
QListWidget::item:hover:!selected,
|
|
||||||
QTreeWidget::item:hover:!selected {
|
|
||||||
background-color: #1c2840;
|
|
||||||
}
|
|
||||||
QHeaderView::section {
|
QHeaderView::section {
|
||||||
background-color: #0f1628;
|
background-color: #0f1628;
|
||||||
border: none;
|
border: none;
|
||||||
border-right: 1px solid #253250;
|
border-right: 1px solid #253250;
|
||||||
border-bottom: 1px solid #253250;
|
border-bottom: 1px solid #253250;
|
||||||
padding: 6px 10px;
|
padding: 5px 10px;
|
||||||
color: #8b9ad0;
|
color: #8b9ad0;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
@@ -351,6 +477,12 @@ QSlider::sub-page:horizontal {
|
|||||||
background-color: #2dd4bf;
|
background-color: #2dd4bf;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
QSlider::handle:horizontal:disabled {
|
||||||
|
background-color: #5568a0;
|
||||||
|
}
|
||||||
|
QSlider::sub-page:horizontal:disabled {
|
||||||
|
background-color: #5568a0;
|
||||||
|
}
|
||||||
|
|
||||||
/* ---- Tool Tip ---- */
|
/* ---- Tool Tip ---- */
|
||||||
QToolTip {
|
QToolTip {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
* See the LICENSE file for details.
|
* See the LICENSE file for details.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* AutoLibrary Official Style Theme : LightLake
|
* AutoLibrary Official Theme : LightLake
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ---- Global ---- */
|
/* ---- Global ---- */
|
||||||
@@ -116,6 +116,94 @@ QPlainTextEdit,
|
|||||||
QTextEdit {
|
QTextEdit {
|
||||||
background-color: #ffffff;
|
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 ---- */
|
/* ---- Combo Box ---- */
|
||||||
QComboBox {
|
QComboBox {
|
||||||
@@ -158,6 +246,11 @@ QComboBox QAbstractItemView {
|
|||||||
selection-color: #ffffff;
|
selection-color: #ffffff;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
QComboBox:disabled {
|
||||||
|
background-color: #e8ecf2;
|
||||||
|
color: #98a8c0;
|
||||||
|
border-color: #d5dde8;
|
||||||
|
}
|
||||||
|
|
||||||
/* ---- Check Box / Radio Button ---- */
|
/* ---- Check Box / Radio Button ---- */
|
||||||
QCheckBox,
|
QCheckBox,
|
||||||
@@ -193,6 +286,47 @@ QRadioButton::indicator:disabled {
|
|||||||
border-color: #c0cdda;
|
border-color: #c0cdda;
|
||||||
background-color: #e8ecf2;
|
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 ---- */
|
/* ---- Group Box ---- */
|
||||||
QGroupBox {
|
QGroupBox {
|
||||||
@@ -268,16 +402,12 @@ QTableWidget::item:selected {
|
|||||||
background-color: #0ea58a;
|
background-color: #0ea58a;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
QListWidget::item:hover:!selected,
|
|
||||||
QTreeWidget::item:hover:!selected {
|
|
||||||
background-color: #e2e8f0;
|
|
||||||
}
|
|
||||||
QHeaderView::section {
|
QHeaderView::section {
|
||||||
background-color: #dce4ee;
|
background-color: #dce4ee;
|
||||||
border: none;
|
border: none;
|
||||||
border-right: 1px solid #c0cdda;
|
border-right: 1px solid #c0cdda;
|
||||||
border-bottom: 1px solid #c0cdda;
|
border-bottom: 1px solid #c0cdda;
|
||||||
padding: 6px 10px;
|
padding: 5px 10px;
|
||||||
color: #4a6080;
|
color: #4a6080;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
@@ -351,6 +481,12 @@ QSlider::sub-page:horizontal {
|
|||||||
background-color: #0ea58a;
|
background-color: #0ea58a;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
QSlider::handle:horizontal:disabled {
|
||||||
|
background-color: #98a8c0;
|
||||||
|
}
|
||||||
|
QSlider::sub-page:horizontal:disabled {
|
||||||
|
background-color: #98a8c0;
|
||||||
|
}
|
||||||
|
|
||||||
/* ---- Tool Tip ---- */
|
/* ---- Tool Tip ---- */
|
||||||
QToolTip {
|
QToolTip {
|
||||||
|
|||||||
Reference in New Issue
Block a user