?? zlfz_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 E[6];float k2 = 1.2;int X2[1000], RY2[1000];int DY2[1000];int MY2[1000];int N2;QString zlfzfile;void ZLFZ_Form::init(){ fstream file; file.open("/root/FaultRecorder/ratedvalue.DAT"); file>>E[0]; file>>E[1]; file>>E[2]; file>>E[3]; file>>E[4]; file>>E[5]; file.close(); N2 = (int) E[5]; QString rv4,rv5; rv4 = QString ("%0").arg(E[4], 0, 'f', 0); Esettingcurrent_ratedvalue_lineEdit->setText(rv4); rv5 = QString ("%0").arg(E[5], 0, 'f', 0); Erotorcurrent_ratedvalue_lineEdit->setText(rv5); Esettingcurrent_ratedvalue_lineEdit->setEnabled(FALSE); Erotorcurrent_ratedvalue_lineEdit->setEnabled(FALSE); Irk1_lineEdit->setEnabled(FALSE); Irk2_lineEdit->setEnabled(FALSE); Irk3_lineEdit->setEnabled(FALSE); Irk4_lineEdit->setEnabled(FALSE); Irk5_lineEdit->setEnabled(FALSE); Irk6_lineEdit->setEnabled(FALSE); Irk7_lineEdit->setEnabled(FALSE); Irk8_lineEdit->setEnabled(FALSE); Irk9_lineEdit->setEnabled(FALSE); descendstart_pushButton->setEnabled(FALSE); printcurve_pushButton->setEnabled(FALSE); zlfz_iconView->clear(); (void) new QIconViewItem( zlfz_iconView, "", Draw_coordinate()); zlfz_iconView->setEnabled(FALSE); zlfz_iconView->setUpdatesEnabled( TRUE );}QPixmap ZLFZ_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/k2), 325, 230-(int)(200/k2)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Irk", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(E[4]*k2, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(E[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(E[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(E[4]*k2*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); } painter.end(); return pixmap;}//上升曲線開始void ZLFZ_Form::risestart(){ risestart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( zlfz_iconView, "", Draw_risecurve()); descendstart_pushButton->setEnabled(TRUE);}QPixmap ZLFZ_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; zlfzfile = date + " " + time2 + ".DAT"; zlfz_iconView->clear(); QString Ira,Irb,Irc,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/k2), 325, 230-(int)(200/k2)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Irk", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(E[4]*k2, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(E[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(E[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(E[4]*k2*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//繪制上升曲線; int t; float k=E[4]*k2/E[5]; //假設曲線斜率為 k ; int Ir,Irl; X2[0] = 25; RY2[0] = 230; painter.setPen( red ); for( t=1; t<=N2; t++){ Irl = t; Ir = (int) ( k*Irl ); //假設曲線為: y=k*x ; X2[t] = 25 + (int) (Irl*300/E[5]); RY2[t] = 230 - (int) (Ir*200/E[4]/k2); Ira = QString ("%0").arg(Ir, 0, 'f', 0); Ira_lCDNumber->display( Ira ); Irb = QString ("%0").arg(Ir, 0, 'f', 0); Irb_lCDNumber->display( Irb ); Irc = QString ("%0").arg(Ir, 0, 'f', 0); Irc_lCDNumber->display( Irc ); IrL = QString ("%0").arg(Irl, 0, 'f', 0); IrL_lCDNumber->display( IrL ); if( RY2[t]>=30 && X2[t]<=325 ){ painter.drawLine(X2[t], RY2[t], X2[t-1], RY2[t-1]); }else break; } painter.end(); return pixmap;}//用數字鍵盤輸入穩態值;void ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_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 ZLFZ_Form::descendstart(){ descendstart_pushButton->setEnabled(FALSE); (void) new QIconViewItem( zlfz_iconView, "", Draw_descendcurve()); ExperimentEnd_Form*experimentend_Form = new ExperimentEnd_Form(this,"電氣試驗結束",FALSE); experimentend_Form->exec(); printcurve_pushButton->setEnabled(TRUE);}QPixmap ZLFZ_Form::Draw_descendcurve(){ QDir::setCurrent("/root/FaultRecorder/experiment/ZLFZ/"); QFile file( zlfzfile ); file.open( IO_WriteOnly ); QTextStream stream( &file ); int WIrl[10], WIrk[10]; QString str[10]; //讀入穩態值; QString strIrk[10]; str[1] = IrL1_lineEdit->text(); WIrl[1] = atoi(str[1]); str[2] = IrL2_lineEdit->text(); WIrl[2] = atoi(str[2]); str[3] = IrL3_lineEdit->text(); WIrl[3] = atoi(str[3]); str[4] = IrL4_lineEdit->text(); WIrl[4] = atoi(str[4]); str[5] = IrL5_lineEdit->text(); WIrl[5] = atoi(str[5]); str[6] = IrL6_lineEdit->text(); WIrl[6] = atoi(str[6]); str[7] = IrL7_lineEdit->text(); WIrl[7] = atoi(str[7]); str[8] = IrL8_lineEdit->text(); WIrl[8] = atoi(str[8]); str[9] = IrL9_lineEdit->text(); WIrl[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); zlfz_iconView->clear(); QString Ira,Irb,Irc,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/k2), 325, 230-(int)(200/k2)); painter.setPen( blue ); painter.drawText(330, 235, "IrL", -1); painter.drawText(20, 20, "Irk", -1); painter.drawText(20, 245, "0", -1); str1 = QString ("%0").arg(E[4]*k2, 0, 'f', 0); painter.drawText(0, 37, str1, -1); str2 = QString ("%0").arg(E[5], 0, 'f', 0); painter.drawText(315, 245, str2, -1); for( i=1; i<=4; i++){ strx[i] = QString ("%0").arg(E[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(E[4]*k2*j/5, 0, 'f', 0); painter.drawText(0, 235-(235-35)*j/5, stry[j], -1); }//繪制上升曲線; int t; float k=E[4]*k2/E[5]; //假設曲線斜率為 k ; int Ir,Irl; X2[0] = 25; RY2[0] = 230; painter.setPen( red ); for( t=1; t<=N2; t++){ Irl = t; Ir = (int) ( k*Irl ); //假設曲線為: y=k*x ; X2[t] = 25 + (int) (Irl*300/E[5]); RY2[t] = 230 - (int) (Ir*200/E[4]/k2); if( RY2[t]>=30 && X2[t]<=325 ){ painter.drawLine(X2[t], RY2[t], X2[t-1], RY2[t-1]); }else break; }//繪制下降曲線; int Irk; k = E[4]*k2/E[5]; DY2[N2] = RY2[N2]; MY2[N2] = RY2[N2]; Irl = N2; Irk = (int) (k*Irl); stream<<Irl; stream<<" "; stream<<Irk; stream<<"\n"; for( i=1; i<=9; i++){ if( WIrl[i] == Irl ) WIrk[i] = Irk; } for( t=N2-1; t>=0; t--){ Irl = t; Irk = (int) (k*Irl); //假設下降曲線為: y=k*x; DY2[t] = 230 - (int) (Irk*200/E[4]/k2); Ira = QString ("%0").arg(Irk, 0, 'f', 0); Ira_lCDNumber->display( Ira ); Irb = QString ("%0").arg(Irk, 0, 'f', 0); Irb_lCDNumber->display( Irb ); Irc = QString ("%0").arg(Irk, 0, 'f', 0); Irc_lCDNumber->display( Irc ); IrL = QString ("%0").arg(Irl, 0, 'f', 0); IrL_lCDNumber->display( IrL ); MY2[t] = ( RY2[t] + DY2[t] )/2; if( DY2[t]<=230 && X2[t]>=25 ){ stream<<Irl; stream<<" "; stream<<Irk; stream<<"\n"; painter.setPen( green ); painter.drawLine(X2[t], MY2[t], X2[t+1], MY2[t+1]); painter.setPen( blue ); painter.drawLine(X2[t], DY2[t], X2[t+1], DY2[t+1]); for( i=1; i<=9; i++){ if( WIrl[i] == Irl ) WIrk[i] = Irk; } }else break; } strIrk[1] = QString ("%0").arg(WIrk[1], 0, 'f', 0); //顯示穩態值結果; Irk1_lineEdit->setText(strIrk[1]); strIrk[2] = QString ("%0").arg(WIrk[2], 0, 'f', 0); Irk2_lineEdit->setText(strIrk[2]); strIrk[3] = QString ("%0").arg(WIrk[3], 0, 'f', 0); Irk3_lineEdit->setText(strIrk[3]); strIrk[4] = QString ("%0").arg(WIrk[4], 0, 'f', 0); Irk4_lineEdit->setText(strIrk[4]); strIrk[5] = QString ("%0").arg(WIrk[5], 0, 'f', 0); Irk5_lineEdit->setText(strIrk[5]); strIrk[6] = QString ("%0").arg(WIrk[6], 0, 'f', 0); Irk6_lineEdit->setText(strIrk[6]); strIrk[7] = QString ("%0").arg(WIrk[7], 0, 'f', 0); Irk7_lineEdit->setText(strIrk[7]); strIrk[8] = QString ("%0").arg(WIrk[8], 0, 'f', 0); Irk8_lineEdit->setText(strIrk[8]); strIrk[9] = QString ("%0").arg(WIrk[9], 0, 'f', 0); Irk9_lineEdit->setText(strIrk[9]); file.close(); painter.end(); return pixmap;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -