Qt——如果有几十个connect ,信号和曹需要连接,如何简化

1、效果

简化前:

 

 

简化后:

 

 

 

2、代码

void DuoJi_GridFenHua::_All_JianXi_LineEdit_signal()// 所有的间隙网格 输入框信号连接
{
    QObjectList _lineEdit_sendr; //将所有lineedit对象放到 列表里
    _lineEdit_sendr << ui.lineEdit_bot_first_x << ui.lineEdit_bot_first_y << ui.lineEdit_bot_first_z << ui.lineEdit_bot_reference_x << ui.lineEdit_bot_reference_y << ui.lineEdit_bot_reference_z << ui.lineEdit_bot_inner_radius << ui.lineEdit_bot_outer_radius
        << ui.lineEdit_pot_first_x << ui.lineEdit_pot_first_y << ui.lineEdit_pot_first_z << ui.lineEdit_pot_reference_x << ui.lineEdit_pot_reference_y << ui.lineEdit_pot_reference_z << ui.lineEdit_pot_inner_radius << ui.lineEdit_pot_outer_radius
        << ui.lineEdit_rad_first_x << ui.lineEdit_rad_first_y << ui.lineEdit_rad_first_z << ui.lineEdit_rad_reference_x << ui.lineEdit_rad_reference_y << ui.lineEdit_rad_reference_z << ui.lineEdit_rad_inner_radius << ui.lineEdit_rad_outer_radius
        << ui.lineEdit_axi_first_x << ui.lineEdit_axi_first_y << ui.lineEdit_axi_first_z << ui.lineEdit_axi_reference_x << ui.lineEdit_axi_reference_y << ui.lineEdit_axi_reference_z << ui.lineEdit_axi_inner_radius << ui.lineEdit_axi_outer_radius;
    for (int i = 0; i < _lineEdit_sendr.size(); i++) //遍历创建 所有lineedit concect 连接
    {
        connect(_lineEdit_sendr[i], SIGNAL(editingFinished()), this, SLOT(_All_JianXi_LineEdit_slot()));
    }
}

 

 

所有输入框LineEdit都是信号发送者

 

posted @ 2022-06-30 14:10  雾枫  阅读(121)  评论(0编辑  收藏  举报