如何将QButtonGroup中的QToolButtons与QRadioButtons连接起来?

问题描述:

我想将QButton组中的QToolButtons与QRadioButtons连接起来,以便它们执行相同的操作。如何将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)));,但没有奏效。

+1

你收到的_Application Output_一些错误? – m7913d

+0

使用操作并共享它们并将其放入QActionGroup –

+0

@ m7913d应用程序输出中没有错误。 – Veera

如果你的QToolButton不可检查,它只会通过false作为信号参数。

QAbstractButton文档:

当按钮被激活时,这个信号被发射(即,按下 然后释放在鼠标光标位于按钮内),当 快捷键被输入,或当单击()或animateClick()被调用。值得注意的是,如果您调用setDown(), setChecked()或toggle(),则不会发出此信号。

如果该按钮是可选的,如果该按钮被选中,则检查为真, 或者如果该按钮未被选中则为false。

解决方案连接切换插槽:

connect(A, SIGNAL(clicked(bool)), A1, SLOT(toggle())); 
+0

SetCheckable是真的,我试过这个解决方案,但它不起作用。 – Veera

+0

你可以随后提供[mcve] –

+0

请检查上面的代码。 – Veera