diff --git a/src/frontend/list-items/listitem.cpp b/src/frontend/list-items/listitem.cpp index 04ddf4f7..c4048b56 100644 --- a/src/frontend/list-items/listitem.cpp +++ b/src/frontend/list-items/listitem.cpp @@ -334,10 +334,11 @@ void ListItem::onPaletteChanged() pal = themePalette(true, this); } } + pal.setColor(QPalette::Base, pal.color(QPalette::Base)); //解决Wayland环境this->setPalette(pal)不生效问题 + this->setPalette(pal); if (m_menu != nullptr) { - pal.setColor(QPalette::Base, pal.color(QPalette::Base)); pal.setColor(QPalette::Text, pal.color(QPalette::Text)); m_menu->setPalette(pal); } diff --git a/src/frontend/list-items/wlanlistitem.cpp b/src/frontend/list-items/wlanlistitem.cpp index 9a89e205..d5cc9651 100644 --- a/src/frontend/list-items/wlanlistitem.cpp +++ b/src/frontend/list-items/wlanlistitem.cpp @@ -255,16 +255,6 @@ void WlanListItem::keyPressEvent(QKeyEvent *event) return QFrame::keyPressEvent(event); } -void WlanListItem::paintEvent(QPaintEvent *event) -{ -// QPalette pal = qApp->palette(); -// if (m_pwdLineEdit != nullptr) { -// pal.setColor(QPalette::Base, pal.color(QPalette::Base)); -// m_pwdLineEdit->setPalette(pal); -// } - return QWidget::paintEvent(event); -} - void WlanListItem::initWlanUI() { m_hasPwd = (m_wirelessNetItem.m_secuType.isEmpty() || m_wirelessNetItem.m_secuType == "") ? false : true; diff --git a/src/frontend/list-items/wlanlistitem.h b/src/frontend/list-items/wlanlistitem.h index d5443ee9..ab28e729 100644 --- a/src/frontend/list-items/wlanlistitem.h +++ b/src/frontend/list-items/wlanlistitem.h @@ -90,7 +90,6 @@ protected: void leaveEvent(QEvent *event); bool eventFilter(QObject *watched, QEvent *event); void keyPressEvent(QKeyEvent *event); - void paintEvent(QPaintEvent *event); Q_SIGNALS: void itemHeightChanged(const bool isExpanded, const QString &ssid); diff --git a/src/frontend/tools/infobutton.cpp b/src/frontend/tools/infobutton.cpp index 6d43703e..c10663d8 100644 --- a/src/frontend/tools/infobutton.cpp +++ b/src/frontend/tools/infobutton.cpp @@ -78,6 +78,11 @@ void InfoButton::onPaletteChanged() pal = themePalette(true, this); } } + pal.setColor(QPalette::Base, pal.color(QPalette::Base));//解决Wayland环境this->setPalette(pal)不生效问题 + pal.setColor(QPalette::Text, pal.color(QPalette::Text)); + pal.setColor(QPalette::Highlight, pal.color(QPalette::Highlight)); + pal.setColor(QPalette::BrightText, pal.color(QPalette::BrightText)); + this->setPalette(pal); m_foregroundColor = FOREGROUND_COLOR_NORMAL; diff --git a/src/frontend/tools/radioitembutton.cpp b/src/frontend/tools/radioitembutton.cpp index 22667b7b..68569fd9 100644 --- a/src/frontend/tools/radioitembutton.cpp +++ b/src/frontend/tools/radioitembutton.cpp @@ -154,6 +154,10 @@ void RadioItemButton::onPaletteChanged() pal = themePalette(true, this); } } + pal.setColor(QPalette::Base, pal.color(QPalette::Base)); //解决Wayland环境this->setPalette(pal)不生效问题 + pal.setColor(QPalette::BrightText, pal.color(QPalette::BrightText)); + pal.setColor(QPalette::Highlight, pal.color(QPalette::Highlight)); + this->setPalette(pal); refreshButtonIcon();