QRadioButton 放在組合框QGroupBox中,再點擊時,即使有多個QRadioButton按鈕,同時選中的也就只有一個。? 如下圖所示,
對于多個QRadioButton,每個按鈕都寫一個槽函數是不太明智的選擇,需要將QRadioButton放在?
QButtonGroup進行管理,
QButtonGroup *m_pGroup;//只有一個group//添加控件
for(int i = 0; i < FUN_NUMBER; i++){m_pGroup=new QButtonGroup(this);}//QRadioButton::idToggled;m_pGroup->addButton(ui->drag_radioButton,0);m_pGroup->addButton(ui->selectrect_radioButton,1);m_pGroup->addButton(ui->tracer_radioButton,2);m_pGroup->addButton(ui->resetcurve_radioButton,3);//不想這樣寫信號槽函數//connect(m_pGroup,SIGNAL(idClicked(int)),this,SLOT(onRadioCorespond(int)));void (QButtonGroup:: * pClick)(int time) = &QButtonGroup::buttonClicked; connect(m_pGroup, pClick, this, &Widget::onRadioCorespond);//傳遞一個參數//onRadioCorespond是槽函數void Widget::onRadioCorespond(int nCursel)
{//輸出 選中的是哪個radio按鈕qDebug() <<"nCursel = "<<nCursel;
}
注意: 我的qt是5.12.6 ,信號是? QButtonGroup::buttonClicked,
網上查到的消息是idClicked, qt5.12.6版本的沒有這個信號