Search code examples
qtsignals-slots

How to get toggled() signal working with a QPushButton?


I have the follwing code where moreButton is a QPushButton. When I toggle the button, nothing happens.

Shouldn't it show or hide secondaryGroupBox and tertiaryGroupBox?

QObject::connect(moreButton, SIGNAL(toggled(bool)), secondaryGroupBox, SLOT(setVisible(bool)));
QObject::connect(moreButton, SIGNAL(toggled(bool)), tertiaryGroupBox, SLOT(setVisible(bool)));

Solution

  • Most likely, your pushbutton is not checkable(). Try

    moreButton->setCheckable(true)
    

    A non-checkable button never emits the toggled(bool) signal.