From 1324457b0c0797872ce4554ed12712941fe62f01 Mon Sep 17 00:00:00 2001 From: wangfei Date: Tue, 8 Oct 2024 11:22:34 +0800 Subject: [PATCH] fix: wrong status of switch button correct the wrong initial status of switch button Bug: https://pms.uniontech.com/bug-view-276221.html Log: --- src/widgets/dswitchbutton.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/widgets/dswitchbutton.cpp b/src/widgets/dswitchbutton.cpp index 48e5d1bc0..9511ae2c9 100644 --- a/src/widgets/dswitchbutton.cpp +++ b/src/widgets/dswitchbutton.cpp @@ -58,6 +58,12 @@ void DSwitchButton::paintEvent(QPaintEvent *e) DStylePainter painter(this); DStyleOptionButton opt; initStyleOption(&opt); + if (isChecked() != d->checked) { + d->checked = isChecked(); + DDciIcon icon = !d->checked ? DDciIcon::fromTheme("switch_on") : DDciIcon::fromTheme("switch_off"); + d->player.setIcon(icon); + Q_EMIT checkedChanged(d->checked); + } painter.drawControl(DStyle::CE_SwitchButton, opt); painter.setRenderHint(QPainter::SmoothPixmapTransform);