根据3种方式查询 switch (ui->combox_find->currentIndex()) { case 1: qDebug()<<"姓名"; for(int i = 0; i < m_total; i ++) { if(m_alist[i].at(1).contains(ui->lineEdit->text(),Qt::CaseInsensitive)) { m_tabWidget->clearContents(); nowRow[count] = i; count++; //qDebug()<<"nowRow:"<<QString::number(nowRow[count])<<"i:"<<QString::number(i); } } showFindTable(count,nowRow); break; case 2: qDebug()<<"学号"; for(int i = 0; i < m_total; i ++) { if(m_alist[i].at(2).contains(ui->lineEdit->text(),Qt::CaseInsensitive)) { m_tabWidget->clearContents(); nowRow[count] = i; count++; qDebug()<<"now:"<<QString::number(nowRow[count])<<"i:"<<QString::number(i); } } showFindTable(count,nowRow); break; case 3: qDebug()<<"院校"; for(int i = 0; i < m_total; i ++) { if(m_alist[i].at(5).contains(ui->lineEdit->text(),Qt::CaseInsensitive)) { m_tabWidget->clearContents(); nowRow[count] = i; count++; //qDebug()<<"now:"<<QString::number(now[count])<<"i:"<<QString::number(i); } } showFindTable(count,nowRow); break; default: QMessageBox::question(this,"提示","请选择查询方式","确认"); break; } void Window_Info::showFindTable(qint16 count,qint16 *rowCount) { m_sortNowTotal = count; for(int i = 0; i < count; i ++) { m_tabWidget->setRowCount(count); //设置行数 m_tabWidget->setItem(i,0,new QTableWidgetItem(m_alist[rowCount[i]].at(0))); m_tabWidget->setItem(i,1,new QTableWidgetItem(m_alist[rowCount[i]].at(1))); m_tabWidget->setItem(i,2,new QTableWidgetItem(m_alist[rowCount[i]].at(2))); m_tabWidget->setItem(i,3,new QTableWidgetItem(m_alist[rowCount[i]].at(3))); m_tabWidget->setItem(i,4,new QTableWidgetItem(m_alist[rowCount[i]].at(4))); m_tabWidget->setItem(i,5,new QTableWidgetItem(m_alist[rowCount[i]].at(5))); m_tabWidget->setItem(i,6,new QTableWidgetItem(m_alist[rowCount[i]].at(6))); m_tabWidget->setItem(i,7,new QTableWidgetItem(m_alist[rowCount[i]].at(7))); m_sortNowList[i] = m_alist[rowCount[i]]; } } |