qt官方文档:QButtonGroup的信号与槽不同的连接方式
如下图
可以看到QButtonGroup的同一个函数都是有两个重载的,直接使用信号与槽连接QButtonGroup的信号会报错,所以需要对QButtonGroup的信号进行绑定
使用connect(group,&Button::clicked,this,&Widget::sigButtonClicked);使用这种关联方式是会报错的,因为找不到对应的信号。
下方是关于一些连接方式举例:
1. 使用QOverload进行信号转换
connect(group, QOverload<int, bool>::of(&QButtonGroup::buttonToggled), this, &WWidget::slotButtonToggled);
2. 使用静态转换:static_cast
connect(group, static_cast<void(QButtonGroup::*)(int, bool)>(&QButtonGroup::buttonToggled), this, &WWidget::slotButtonToggled);
3. 直接使用Qt4的信号与槽连接方式
connect(group, SIGNAL(buttonToggled(int, bool)), this, SLOT(group)
注意:要相应toggled信号,需要将按钮的checkable设置为true,才能相应toggled信号。