diff options
Diffstat (limited to 'src/widgets/widgets/qtoolbutton.cpp')
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index 1b04f3df72..81b2998849 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -963,6 +963,12 @@ void QToolButton::setDefaultAction(QAction *action) } #endif setCheckable(action->isCheckable()); + if (action->isCheckable()) { + connect(this, &QAbstractButton::toggled, this, [this](bool checked) { + if (defaultAction()) + defaultAction()->setChecked(checked); + }, Qt::UniqueConnection); + } setChecked(action->isChecked()); setEnabled(action->isEnabled()); if (action->d_func()->fontSet) |