📄 zlkz_form.ui.h
字号:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************/float H[6];float k1 = 1.3;int X[1000], RY[1000];int DY[1000];int MY[1000];int N;QString zlkzfile;void ZLKZ_Form::init(){ fstream file; file.open("/root/FaultRecorder/ratedvalue.DAT"); file>>H[0]; file>>H[1]; file>>H[2]; file>>H[3]; file>>H[4]; file>>H[5]; file.close(); N = (int) H[5]; QString rv3,rv5; rv3 = QString ("%0").arg(H[3], 0, 'f', 0); Esettingvoltage_ratedvalue_lineEdit->setText(rv3); rv5 = QString ("%0").arg(H[5], 0, 'f', 0); Erotorcurrent_ratedvalue_lineEdit->setText(rv5); Esettingvoltage_ratedvalue_lineEdit->setEnabled(FALSE); Erotorcurrent_ratedvalue_lineEdit->setEnabled(FALSE); Ur01_lineEdit->setEnabled(FALSE); Ur02_lineEdit->setEnabled(FALSE); Ur03_lineEdit->setEnabled(FALSE); Ur04_lineEdit->setEnabled(FALSE); Ur05_lineEdit->setEnabled(FALSE); Ur06_lineEdit->setEnabled(FALSE); Ur07_lineEdit->setEnabled(FALSE); Ur08_lineEdit->setEnabled(FALSE); Ur09_lineEdit->setEnabled(FALSE); descendstart_pushButton->setEnabled(FALSE); printcurve_pushButton->setEnabled(FALSE); zlkz_iconView->clear(); (void) new QIconViewItem( zlkz_iconView, "", Draw_coordinate()); zlkz_iconView->setEnabled(FALSE);}QPixmap ZLKZ_Form::Draw_coordinate(){ int i,j; QString str1,str2,strx[5],stry[5]; QPixmap pixmap( 350, 250 ); pixmap.fill( white ); QPainter painter; painter.begin( &pixmap ); painter.setPen( black ); painter.drawLine(25, 230, 328, 230); painter.drawLine(25, 230, 25, 22); painter.setPen( gray ); for( i=0; i<10; i++){ painter.drawLine(25, 30+i*20, 325, 30+i*20); } for( j=1; j<=10; j++){ painter.drawLine(25+j*30, 230, 25+j*30, 30); } painter.setPen( magenta ); painter.drawLine(25, 230-(int)(200/k1), 325, 230-(int)(200/k1)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Ur0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(H[3]*k1, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(H[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(H[5]*i/5, 0, 'f', 0); painter.drawText(20+(315-20)*i/5, 245, strx[i], -1); } for( j=1; j<=4; j++){ stry[j] = QString ("%0").arg(H[3]*k1*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); } painter.end(); return pixmap;}//上升曲线开始void ZLKZ_Form::risestart(){ risestart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( zlkz_iconView, "", Draw_risecurve()); descendstart_pushButton->setEnabled(TRUE);}QPixmap ZLKZ_Form::Draw_risecurve(){ QString date = QDate::currentDate().toString(Qt::ISODate).left(10); QString time = QTime::currentTime().toString(Qt::TextDate).left(8); QString hh, mm, ss, time2; hh = time.left(2); mm = time.mid(3,2); ss = time.right(2); time2 = hh + mm + ss; zlkzfile = date + " " + time2 + ".DAT"; zlkz_iconView->clear(); QString Urab,Urbc,Urca,IrL; QPixmap pixmap( 350, 250 ); pixmap.fill( white ); QPainter painter; painter.begin( &pixmap );//绘制坐标; int i,j; QString str1,str2,strx[5],stry[5]; painter.setPen( black ); painter.drawLine(25, 230, 328, 230); painter.drawLine(25, 230, 25, 22); painter.setPen( gray ); for( i=0; i<10; i++){ painter.drawLine(25, 30+i*20, 325, 30+i*20); } for( j=1; j<=10; j++){ painter.drawLine(25+j*30, 230, 25+j*30, 30); } painter.setPen( magenta ); painter.drawLine(25, 230-(int)(200/k1), 325, 230-(int)(200/k1)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Ur0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(H[3]*k1, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(H[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(H[5]*i/5, 0, 'f', 0); painter.drawText(20+(315-20)*i/5, 245, strx[i], -1); } for( j=1; j<=4; j++){ stry[j] = QString ("%0").arg(H[3]*k1*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//绘制上升曲线; int t; float k = H[3]*k1/H[5]; int Ur0,Irl; X[0] = 25; RY[0] = 230; painter.setPen( red ); for( t=1; t<=N; t++){ Irl = t; Ur0 = (int) (k*Irl); //假设曲线为: y=k*x; X[t] = 25 + (int) (Irl*300/H[5]); RY[t] = 230 - (int) (Ur0*200/H[3]/k1); Urab = QString ("%0").arg(Ur0, 0, 'f', 0); Urab_lCDNumber->display( Urab ); Urbc = QString ("%0").arg(Ur0, 0, 'f', 0); Urbc_lCDNumber->display( Urbc ); Urca = QString ("%0").arg(Ur0, 0, 'f', 0); Urca_lCDNumber->display( Urca ); IrL = QString ("%0").arg(Irl, 0, 'f', 0); IrL_lCDNumber->display( IrL ); if( RY[t]>=30 && X[t]<=325 ){ painter.drawLine(X[t], RY[t], X[t-1], RY[t-1]); }else break; } painter.end(); return pixmap;}//用数字键盘输入稳态值;void ZLKZ_Form::IrL1input(){ QString strIrL1; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL1 = datakeyboard_Form->returnNumber(); IrL1_lineEdit->setText( strIrL1 );}void ZLKZ_Form::IrL2input(){ QString strIrL2; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL2 = datakeyboard_Form->returnNumber(); IrL2_lineEdit->setText( strIrL2 );}void ZLKZ_Form::IrL3input(){ QString strIrL3; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL3 = datakeyboard_Form->returnNumber(); IrL3_lineEdit->setText( strIrL3 );}void ZLKZ_Form::IrL4input(){ QString strIrL4; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL4 = datakeyboard_Form->returnNumber(); IrL4_lineEdit->setText( strIrL4 );}void ZLKZ_Form::IrL5input(){ QString strIrL5; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL5 = datakeyboard_Form->returnNumber(); IrL5_lineEdit->setText( strIrL5 );}void ZLKZ_Form::IrL6input(){ QString strIrL6; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL6 = datakeyboard_Form->returnNumber(); IrL6_lineEdit->setText( strIrL6 );}void ZLKZ_Form::IrL7input(){ QString strIrL7; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL7 = datakeyboard_Form->returnNumber(); IrL7_lineEdit->setText( strIrL7 );}void ZLKZ_Form::IrL8input(){ QString strIrL8; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL8 = datakeyboard_Form->returnNumber(); IrL8_lineEdit->setText( strIrL8 );}void ZLKZ_Form::IrL9input(){ QString strIrL9; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIrL9 = datakeyboard_Form->returnNumber(); IrL9_lineEdit->setText( strIrL9 );}//下降曲线开始void ZLKZ_Form::descendstart(){ descendstart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( zlkz_iconView, "", Draw_descendcurve()); ExperimentEnd_Form*experimentend_Form = new ExperimentEnd_Form(this,"电气试验结束",FALSE); experimentend_Form->exec(); printcurve_pushButton->setEnabled(TRUE);}QPixmap ZLKZ_Form::Draw_descendcurve(){ QDir::setCurrent("/root/FaultRecorder/experiment/ZLKZ/"); QFile file( zlkzfile ); file.open( IO_WriteOnly ); QTextStream stream( &file ); int WI[10], WU[10]; QString str[10]; //读入稳态值; QString strU[10]; str[1] = IrL1_lineEdit->text(); WI[1] = atoi(str[1]); str[2] = IrL2_lineEdit->text(); WI[2] = atoi(str[2]); str[3] = IrL3_lineEdit->text(); WI[3] = atoi(str[3]); str[4] = IrL4_lineEdit->text(); WI[4] = atoi(str[4]); str[5] = IrL5_lineEdit->text(); WI[5] = atoi(str[5]); str[6] = IrL6_lineEdit->text(); WI[6] = atoi(str[6]); str[7] = IrL7_lineEdit->text(); WI[7] = atoi(str[7]); str[8] = IrL8_lineEdit->text(); WI[8] = atoi(str[8]); str[9] = IrL9_lineEdit->text(); WI[9] = atoi(str[9]); IrL1_lineEdit->setEnabled(FALSE); IrL2_lineEdit->setEnabled(FALSE); IrL3_lineEdit->setEnabled(FALSE); IrL4_lineEdit->setEnabled(FALSE); IrL5_lineEdit->setEnabled(FALSE); IrL6_lineEdit->setEnabled(FALSE); IrL7_lineEdit->setEnabled(FALSE); IrL8_lineEdit->setEnabled(FALSE); IrL9_lineEdit->setEnabled(FALSE); IrL1pushButton->setEnabled(FALSE); IrL2pushButton->setEnabled(FALSE); IrL3pushButton->setEnabled(FALSE); IrL4pushButton->setEnabled(FALSE); IrL5pushButton->setEnabled(FALSE); IrL6pushButton->setEnabled(FALSE); IrL7pushButton->setEnabled(FALSE); IrL8pushButton->setEnabled(FALSE); IrL9pushButton->setEnabled(FALSE); zlkz_iconView->clear(); QString Urab,Urbc,Urca,IrL; QPixmap pixmap( 350, 250 ); pixmap.fill( white ); QPainter painter; painter.begin( &pixmap );//绘制坐标; int i,j; QString str1,str2,strx[5],stry[5]; painter.setPen( black ); painter.drawLine(25, 230, 328, 230); painter.drawLine(25, 230, 25, 22); painter.setPen( gray ); for( i=0; i<10; i++){ painter.drawLine(25, 30+i*20, 325, 30+i*20); } for( j=1; j<=10; j++){ painter.drawLine(25+j*30, 230, 25+j*30, 30); } painter.setPen( magenta ); painter.drawLine(25, 230-(int)(200/k1), 325, 230-(int)(200/k1)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Ur0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(H[3]*k1, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(H[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(H[5]*i/5, 0, 'f', 0); painter.drawText(20+(315-20)*i/5, 245, strx[i], -1); } for( j=1; j<=4; j++){ stry[j] = QString ("%0").arg(H[3]*k1*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//绘制上升曲线; int t; float k = H[3]*k1/H[5]; int Ur0,Irl; X[0] = 25; RY[0] = 230; painter.setPen( red ); for( t=1; t<=N; t++){ Irl = t; Ur0 = (int) (k*Irl); //假设曲线为: y=k*x; X[t] = 25 + (int) (Irl*300/H[5]); RY[t] = 230 - (int) (Ur0*200/H[3]/k1); if( RY[t]>=30 && X[t]<=325 ){ painter.drawLine(X[t], RY[t], X[t-1], RY[t-1]); }else break; }//绘制下降曲线; float b=H[5]; float c=H[3]*k1; k=c/(b*b); DY[N] = RY[N]; MY[N] = RY[N]; Irl = N; Ur0 = (int) ( -k*(Irl-b)*(Irl-b)+c ); stream<<Irl; stream<<" "; stream<<Ur0; stream<<"\n"; for( i=1; i<=9; i++){ if( WI[i] == Irl ) WU[i] = Ur0; } for( t=N-1; t>=0; t--){ Irl = t; Ur0= (int) ( -k*(Irl-b)*(Irl-b)+c ); //假设下降曲线为: y=-k*(x-b)*(x-b)+c; DY[t] = 230 - (int) (Ur0*200/H[3]/k1); Urab = QString ("%0").arg(Ur0, 0, 'f', 0); Urab_lCDNumber->display( Urab ); Urbc = QString ("%0").arg(Ur0, 0, 'f', 0); Urbc_lCDNumber->display( Urbc ); Urca = QString ("%0").arg(Ur0, 0, 'f', 0); Urca_lCDNumber->display( Urca ); IrL = QString ("%0").arg(Irl, 0, 'f', 0); IrL_lCDNumber->display( IrL ); MY[t] = ( RY[t] + DY[t] )/2; if( DY[t]<=230 && X[t]>=25 ){ stream<<Irl; stream<<" "; stream<<Ur0; stream<<"\n"; painter.setPen( green ); painter.drawLine(X[t], MY[t], X[t+1], MY[t+1]); painter.setPen( blue ); painter.drawLine(X[t], DY[t], X[t+1], DY[t+1]); for( i=1; i<=9; i++){ if( WI[i] == Irl ) WU[i] = Ur0; } }else break; } strU[1] = QString ("%0").arg(WU[1], 0, 'f', 0); //显示稳态值结果; Ur01_lineEdit->setText(strU[1]); strU[2] = QString ("%0").arg(WU[2], 0, 'f', 0); Ur02_lineEdit->setText(strU[2]); strU[3] = QString ("%0").arg(WU[3], 0, 'f', 0); Ur03_lineEdit->setText(strU[3]); strU[4] = QString ("%0").arg(WU[4], 0, 'f', 0); Ur04_lineEdit->setText(strU[4]); strU[5] = QString ("%0").arg(WU[5], 0, 'f', 0); Ur05_lineEdit->setText(strU[5]); strU[6] = QString ("%0").arg(WU[6], 0, 'f', 0); Ur06_lineEdit->setText(strU[6]); strU[7] = QString ("%0").arg(WU[7], 0, 'f', 0); Ur07_lineEdit->setText(strU[7]); strU[8] = QString ("%0").arg(WU[8], 0, 'f', 0); Ur08_lineEdit->setText(strU[8]); strU[9] = QString ("%0").arg(WU[9], 0, 'f', 0); Ur09_lineEdit->setText(strU[9]); file.close(); painter.end(); return pixmap;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -