diff --git a/src/app/Theme.cpp b/src/app/Theme.cpp index 4dc6774..c287dce 100644 --- a/src/app/Theme.cpp +++ b/src/app/Theme.cpp @@ -464,6 +464,13 @@ void applyBrandAccent() eTheme->setThemeColor(ElaThemeType::Dark, ElaThemeType::PrimaryNormal, QColor(0x5E, 0x9B, 0xD6)); eTheme->setThemeColor(ElaThemeType::Dark, ElaThemeType::PrimaryHover, QColor(0x71, 0xA9, 0xDE)); eTheme->setThemeColor(ElaThemeType::Dark, ElaThemeType::PrimaryPress, QColor(0x4E, 0x89, 0xC4)); + + // 选中底:Ela 默认是半透明灰、对比度弱。改成清晰的强调蓝实色(明=浅蓝、暗=中深蓝), + // 让所有 Ela 列表/视图的选中行一眼可辨(与对象树 QSS 选中色 kTreeSel* 保持一致)。 + eTheme->setThemeColor(ElaThemeType::Light, ElaThemeType::BasicSelectedAlpha, QColor(0xC2, 0xD9, 0xF2)); + eTheme->setThemeColor(ElaThemeType::Light, ElaThemeType::BasicSelectedHoverAlpha, QColor(0xB1, 0xCD, 0xEF)); + eTheme->setThemeColor(ElaThemeType::Dark, ElaThemeType::BasicSelectedAlpha, QColor(0x33, 0x52, 0x7A)); + eTheme->setThemeColor(ElaThemeType::Dark, ElaThemeType::BasicSelectedHoverAlpha, QColor(0x3C, 0x5D, 0x87)); } bool isDarkTheme() diff --git a/src/app/panels/ObjectTreePanel.cpp b/src/app/panels/ObjectTreePanel.cpp index 3bafc72..5b520ae 100644 --- a/src/app/panels/ObjectTreePanel.cpp +++ b/src/app/panels/ObjectTreePanel.cpp @@ -54,10 +54,15 @@ ObjectTreePanel::ObjectTreePanel(QWidget* parent) : QWidget(parent) { const QString tag = dark ? QStringLiteral("d") : QStringLiteral("l"); const QString off = geopro::app::writeCheckboxIcon(false, border, boxBg, Qt::white, tag); const QString on = geopro::app::writeCheckboxIcon(true, accent, accent, Qt::white, tag); + // 选中底色与 Ela 列表(BasicSelectedAlpha)保持一致:明=浅蓝、暗=中深蓝;:!active 防失焦变淡。 + const QString selBg = dark ? QStringLiteral("#33527A") : QStringLiteral("#C2D9F2"); + const QString selFg = dark ? QStringLiteral("#E8F1FB") : QStringLiteral("#14385F"); tree_->setStyleSheet(QStringLiteral("QTreeView::indicator{ width:16px; height:16px; }" "QTreeView::indicator:unchecked{ image:url(%1); }" - "QTreeView::indicator:checked{ image:url(%2); }") - .arg(off, on)); + "QTreeView::indicator:checked{ image:url(%2); }" + "QTreeView::item:selected{ background:%3; color:%4; }" + "QTreeView::item:selected:!active{ background:%3; color:%4; }") + .arg(off, on, selBg, selFg)); }; applyCheckboxStyle(); QObject::connect(eTheme, &ElaTheme::themeModeChanged, tree_,