我想将QButtonGroup中的QToolButtons与QRadioButtons连接起来,以便它们执行相同的操作。
代码如下:
QToolButton *A=new QToolButton();
A->setCheckable(true);
QButtonGroup *group = new QButtonGroup();
group->addButton(A);
group->addButton(B);
CLASSB *classB=new CLASSB();
connect(A, SIGNAL(clicked(bool)),classB->radioA , SLOT(toggle()));
connect(B, SIGNAL(clicked(bool)), classB->radioB, SLOT(toggle()));
A <->A1 // clicking on tool button should automatically enable radiobutton and should perform the action in radio button
B<->B1我尝试过connect(A,SIGNAL(clicked(bool)),A1,SLOT(setChecked(bool)));,但它不起作用。
发布于 2017-07-14 20:15:56
如果你的QToolButton不是可检查的,它将只传递false作为信号参数。
来自QAbstractButton文档:
当按钮被激活(即,当鼠标光标在按钮内部时按下然后释放)、键入快捷键或调用
()或animateClick()时,会发出此信号。值得注意的是,如果调用setDown()、setChecked()或toggle(),则不会发出此信号。
如果该按钮可选中,则checked为true,如果该按钮已选中,则为false;如果未选中该按钮,则为false。
Solution连接到切换插槽:
connect(A, SIGNAL(clicked(bool)), A1, SLOT(toggle()));https://stackoverflow.com/questions/45102238
复制相似问题