Follow-up:
After noting that the PB background colour changed slightly when clicked, I added this when creating the pushbutton:
bit.at(i)->setStyleSheet("QPushButton:checked { background-color : green;}"); // work-around for Qt 5.14 bug
This made the checked state more obvious and curiously, the correct checked icon also appeared.