void Func2::on_pushButton_clicked()//检查速度是否正常,并获得最大最小速度
{
minspeed=maxspeed=-1;
QTableWidgetItem *item;bool ok;
for(int i=0;i<ui.tableWidget_velocity->rowCount();i++)
{
item = ui.tableWidget_velocity->takeItem(i, 0);
double f = item->text().toDouble(&ok);
ui.tableWidget_velocity->setItem(i, 0, item);
if(ok)
{
if(maxspeed<f) maxspeed=f;
if(minspeed>f||minspeed<0) minspeed=f;
}
else
{
QMessageBox::critical(this,tr("SRDP Seismic Modeling--Wrong velocity"),
tr("Velocity is not correct. Please go back and check.\n"));
speedcorrect=false;
return;
}
}
if(minspeed<=0||maxspeed<=0||minspeed>maxspeed)
{
QMessageBox::critical(this, tr("SRDP Seismic Modeling--Wrong velocity"),
tr("Velocity is not correct. Please go back and check.\n"));
speedcorrect=false;
return;
}
speedcorrect=true;
ui.pushButton->setEnabled(false);
//将列表中的速度取出来赋给double *v;
v=new double [ui.tableWidget_velocity->rowCount()];
for(int i=0;i<ui.tableWidget_velocity->rowCount();i++)
v=ui.tableWidget_velocity->item(i,0)->text().toDouble(&ok);
scribbleArea->setVelocity(v);
delete [] v;v=NULL;//v速度已经传给了scribbleArea,所以删掉好了
QMessageBox::information(this,tr("SRDP Seismic Modeling--Velocity Information"),tr("The program has adopted your settings of velocity."));
ui.pushButton_dao->setEnabled(true);
}