I'm trying to group a few QPushButton`s into QButtonGroup with exclusive checking, but after launch i'm still able to check multiple buttons.
// pen toggle button
penB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
penB.setIconSize(QSize(ICON_SIZE,ICON_SIZE));
penB.setCheckable(true);
penB.toggle();
penB.setIcon(QIcon(":icons/pen.png"));
// circle toggle button
circleB.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
circleB.setIconSize(QSize(ICON_SIZE,ICON_SIZE));
circleB.setCheckable(true);
circleB.setIcon(QIcon(":icons/circle.png"));
figureBox.addButton(&penB);
figureBox.addButton(&circleB);
figureBox.setExclusive(true);
// add buttons to grid
layoutG.addWidget(&openB,1,1);
layoutG.addWidget(&saveB,1,2);
layoutG.addWidget(&penB,1,3);
layoutG.addWidget(&circleB,2,3);
I think, its just need to procees some events. If its true, which events exactly? Thanks in advance.
I've tried to replicate your example and for me it works OK:
widget.h:
widget.cpp:
The single thing that could be not ok in your code is that I don't see where you set the layout, but maybe you didn't add the code for simplicity reasons. Another thing is that the only excluding buttons would be
penB
andcircleB
.Check my example, see what you're doing wrong and maybe come back with a feedback.