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都是信号发送者