📄 fkz_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 G[6];float k3 = 1.3;int X3[1000], RY3[1000];int DY3[1000];int MY3[1000];int N3;QString fkzfile;void FKZ_Form::init(){ fstream file; file.open("/root/FaultRecorder/ratedvalue.DAT"); file>>G[0]; file>>G[1]; file>>G[2]; file>>G[3]; file>>G[4]; file>>G[5]; file.close(); N3 = (int) G[2]; QString rv0,rv2; rv0 = QString ("%0").arg(G[0], 0, 'f', 0); Gsettingvoltage_ratedvalue_lineEdit->setText(rv0); rv2 = QString ("%0").arg(G[2], 0, 'f', 0); Grotorcurrent_ratedvalue_lineEdit->setText(rv2); Gsettingvoltage_ratedvalue_lineEdit->setEnabled(FALSE); Grotorcurrent_ratedvalue_lineEdit->setEnabled(FALSE); U01_lineEdit->setEnabled(FALSE); U02_lineEdit->setEnabled(FALSE); U03_lineEdit->setEnabled(FALSE); U04_lineEdit->setEnabled(FALSE); U05_lineEdit->setEnabled(FALSE); U06_lineEdit->setEnabled(FALSE); U07_lineEdit->setEnabled(FALSE); U08_lineEdit->setEnabled(FALSE); U09_lineEdit->setEnabled(FALSE); descendstart_pushButton->setEnabled(FALSE); printcurve_pushButton->setEnabled(FALSE); fkz_iconView->clear(); (void) new QIconViewItem( fkz_iconView, "", Draw_coordinate()); fkz_iconView->setEnabled(FALSE);}QPixmap FKZ_Form::Draw_coordinate(){ int i,j; QString str1,str2,strx[4],stry[4]; 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/k3), 325, 230-(int)(200/k3)); painter.setPen( blue ); painter.drawText(330, 235, "Ir", -1); painter.drawText(20, 20, "U0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(G[0]*k3, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(G[2], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(G[2]*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(G[0]*k3*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); } painter.end(); return pixmap;}void FKZ_Form::risestart(){ risestart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( fkz_iconView, "", Draw_risecurve()); descendstart_pushButton->setEnabled(TRUE);}QPixmap FKZ_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; fkzfile = date + " " + time2 + ".DAT"; fkz_iconView->clear(); QString Uab,Ubc,Uca,Irr; QPixmap pixmap( 350, 250 ); pixmap.fill( white ); QPainter painter; painter.begin( &pixmap );//绘制坐标; int i, j; QString str1,str2,strx[4],stry[4]; 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/k3), 325, 230-(int)(200/k3)); painter.setPen( blue ); painter.drawText(330, 235, "Ir", -1); painter.drawText(20, 20, "U0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(G[0]*k3, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(G[2], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(G[2]*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(G[0]*k3*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//绘制上升曲线; int t; float k = G[0]*k3/G[2]; int U0,Ir; X3[0] = 25; RY3[0] = 230; painter.setPen( red ); for( t=1; t<=N3; t++){ Ir = t; U0= (int) ( k*Ir ); //假设上升曲线为: y=k*x; X3[t] = 25 + (int) (Ir*300/G[2]); RY3[t] = 230 - (int) (U0*200/G[0]/k3); Uab = QString ("%0").arg(U0, 0, 'f', 0); Uab_lCDNumber->display( Uab ); Ubc = QString ("%0").arg(U0, 0, 'f', 0); Ubc_lCDNumber->display( Ubc ); Uca = QString ("%0").arg(U0, 0, 'f', 0); Uca_lCDNumber->display( Uca ); Irr = QString ("%0").arg(Ir, 0, 'f', 0); Ir_lCDNumber->display( Irr ); if( RY3[t]>=28 && X3[t]<=327 ){ painter.drawLine(X3[t], RY3[t], X3[t-1], RY3[t-1]); }else break; } painter.end(); return pixmap;}//用数字键盘输入稳态值;void FKZ_Form::Ir1input(){ QString strIr1; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr1 = datakeyboard_Form->returnNumber(); Ir1_lineEdit->setText( strIr1 );}void FKZ_Form::Ir2input(){ QString strIr2; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr2 = datakeyboard_Form->returnNumber(); Ir2_lineEdit->setText( strIr2 );}void FKZ_Form::Ir3input(){ QString strIr3; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr3 = datakeyboard_Form->returnNumber(); Ir3_lineEdit->setText( strIr3 );}void FKZ_Form::Ir4input(){ QString strIr4; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr4 = datakeyboard_Form->returnNumber(); Ir4_lineEdit->setText( strIr4 );}void FKZ_Form::Ir5input(){ QString strIr5; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr5 = datakeyboard_Form->returnNumber(); Ir5_lineEdit->setText( strIr5 );}void FKZ_Form::Ir6input(){ QString strIr6; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr6 = datakeyboard_Form->returnNumber(); Ir6_lineEdit->setText( strIr6 );}void FKZ_Form::Ir7input(){ QString strIr7; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr7 = datakeyboard_Form->returnNumber(); Ir7_lineEdit->setText( strIr7 );}void FKZ_Form::Ir8input(){ QString strIr8; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr8 = datakeyboard_Form->returnNumber(); Ir8_lineEdit->setText( strIr8 );}void FKZ_Form::Ir9input(){ QString strIr9; DataKeyboard_Form*datakeyboard_Form = new DataKeyboard_Form(this,"数字键盘",FALSE); datakeyboard_Form->exec(); strIr9 = datakeyboard_Form->returnNumber(); Ir9_lineEdit->setText( strIr9 );}//下降曲线开始void FKZ_Form::descendstart(){ descendstart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( fkz_iconView, "", Draw_descendcurve()); ExperimentEnd_Form*experimentend_Form = new ExperimentEnd_Form(this,"电气试验结束",FALSE); experimentend_Form->exec(); printcurve_pushButton->setEnabled(TRUE);}QPixmap FKZ_Form::Draw_descendcurve(){ QDir::setCurrent("/root/FaultRecorder/experiment/FKZ/"); QFile file( fkzfile ); file.open( IO_WriteOnly ); QTextStream stream( &file ); int WIr[10], WU0[10]; QString str[10]; //读入稳态值; QString strU[10]; str[1] = Ir1_lineEdit->text(); WIr[1] = atoi(str[1]); str[2] = Ir2_lineEdit->text(); WIr[2] = atoi(str[2]); str[3] = Ir3_lineEdit->text(); WIr[3] = atoi(str[3]); str[4] = Ir4_lineEdit->text(); WIr[4] = atoi(str[4]); str[5] = Ir5_lineEdit->text(); WIr[5] = atoi(str[5]); str[6] = Ir6_lineEdit->text(); WIr[6] = atoi(str[6]); str[7] = Ir7_lineEdit->text(); WIr[7] = atoi(str[7]); str[8] = Ir8_lineEdit->text(); WIr[8] = atoi(str[8]); str[9] = Ir9_lineEdit->text(); WIr[9] = atoi(str[9]); Ir1_lineEdit->setEnabled(FALSE); Ir2_lineEdit->setEnabled(FALSE); Ir3_lineEdit->setEnabled(FALSE); Ir4_lineEdit->setEnabled(FALSE); Ir5_lineEdit->setEnabled(FALSE); Ir6_lineEdit->setEnabled(FALSE); Ir7_lineEdit->setEnabled(FALSE); Ir8_lineEdit->setEnabled(FALSE); Ir9_lineEdit->setEnabled(FALSE); Ir1pushButton->setEnabled(FALSE); Ir2pushButton->setEnabled(FALSE); Ir3pushButton->setEnabled(FALSE); Ir4pushButton->setEnabled(FALSE); Ir5pushButton->setEnabled(FALSE); Ir6pushButton->setEnabled(FALSE); Ir7pushButton->setEnabled(FALSE); Ir8pushButton->setEnabled(FALSE); Ir9pushButton->setEnabled(FALSE); fkz_iconView->clear(); QString Uab,Ubc,Uca,Irr; QPixmap pixmap( 350, 250 ); pixmap.fill( white ); QPainter painter; painter.begin( &pixmap ); //绘制坐标; int i, j; QString str1,str2,strx[4],stry[4]; 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/k3), 325, 230-(int)(200/k3)); painter.setPen( blue ); painter.drawText(330, 235, "Ir", -1); painter.drawText(20, 20, "U0", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(G[0]*k3, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(G[2], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(G[2]*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(G[0]*k3*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//绘制上升曲线; int t; float k = G[0]*k3/G[2]; int U0,Ir; X3[0] = 25; RY3[0] = 230; painter.setPen( red ); for( t=1; t<=N3; t++){ Ir = t; U0= (int) ( k*Ir ); //假设上升曲线为: y=k*x; X3[t] = 25 + (int) (Ir*300/G[2]); RY3[t] = 230 - (int) (U0*200/G[0]/k3); if( RY3[t]>=28 && X3[t]<=327 ){ painter.drawLine(X3[t], RY3[t], X3[t-1], RY3[t-1]); }else break; }//绘制下降曲线; float b=G[2]; float c=G[0]*k3; k=c/(b*b); DY3[N3] = RY3[N3]; MY3[N3] = RY3[N3]; Ir = N3; U0 = (int) ( -k*(Ir-b)*(Ir-b)+c ); stream<<Ir; stream<<" "; stream<<U0; stream<<"\n"; for( i=1; i<=9; i++){ if( WIr[i] == Ir ) WU0[i] = U0; } for( t=N3-1; t>=0; t--){ Ir = t; U0 = (int) ( -k*(Ir-b)*(Ir-b)+c ); //假设下降曲线为:y=-k*(x-b)*(x-b)+c; DY3[t] = 230 - (int) (U0*200/G[0]/k3); Uab = QString ("%0").arg(U0, 0, 'f', 0); Uab_lCDNumber->display( Uab ); Ubc = QString ("%0").arg(U0, 0, 'f', 0); Ubc_lCDNumber->display( Ubc ); Uca = QString ("%0").arg(U0, 0, 'f', 0); Uca_lCDNumber->display( Uca ); Irr = QString ("%0").arg(Ir, 0, 'f', 0); Ir_lCDNumber->display( Irr ); MY3[t] = ( RY3[t] + DY3[t] )/2; if( DY3[t]<=230 && X3[t]>=25 ){ stream<<Ir; stream<<" "; stream<<U0; stream<<"\n"; painter.setPen( green ); painter.drawLine(X3[t], MY3[t], X3[t+1], MY3[t+1]); painter.setPen( blue ); painter.drawLine(X3[t], DY3[t], X3[t+1], DY3[t+1]); for( i=1; i<=9; i++){ if ( WIr[i] == Ir ) WU0[i] = U0; } }else break; } strU[1] = QString ("%0").arg(WU0[1], 0, 'f', 0); //显示稳态值结果; U01_lineEdit->setText(strU[1]); strU[2] = QString ("%0").arg(WU0[2], 0, 'f', 0); U02_lineEdit->setText(strU[2]); strU[3] = QString ("%0").arg(WU0[3], 0, 'f', 0); U03_lineEdit->setText(strU[3]); strU[4] = QString ("%0").arg(WU0[4], 0, 'f', 0); U04_lineEdit->setText(strU[4]); strU[5] = QString ("%0").arg(WU0[5], 0, 'f', 0); U05_lineEdit->setText(strU[5]); strU[6] = QString ("%0").arg(WU0[6], 0, 'f', 0); U06_lineEdit->setText(strU[6]); strU[7] = QString ("%0").arg(WU0[7], 0, 'f', 0); U07_lineEdit->setText(strU[7]); strU[8] = QString ("%0").arg(WU0[8], 0, 'f', 0); U08_lineEdit->setText(strU[8]); strU[9] = QString ("%0").arg(WU0[9], 0, 'f', 0); U09_lineEdit->setText(strU[9]); file.close(); painter.end(); return pixmap;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -