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

时间:2017-07-14 11:48:02

标签: qt qradiobutton qtoolbutton

我想将QToolButtons中的QButtonGroupQRadioButtons联系起来,以便他们执行相同的操作。

以下是代码:

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 个答案:

答案 0 :(得分:0)

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

来自QAbstractButton文档:

  

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

     

如果按钮是可检查的,如果选中该按钮,则选中该选项,   如果未选中该按钮,则为false。

解决方案连接到切换插槽:

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