⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comprehensiveanalyze_form.ui.h

📁 Linux下的qt编程示例
💻 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 J[6];float Ifg, If0, Ifk, Kc, Xxd, Xdd, Ibc;int Xk[1000], Yk[1000];int Xd[1000], Yd[1000];int P;QString kzfilename, dlfilename;void ComprehensiveAnalyze_Form::init(){    fstream file;    file.open("/root/FaultRecorder/ratedvalue.DAT");    file>>J[0];    file>>J[1];    file>>J[2];    file>>J[3];    file>>J[4];    file>>J[5];    file.close();        ComprehensiveAnalyze_iconView->clear();    (void) new QIconViewItem( ComprehensiveAnalyze_iconView, "", Draw_coordinate());    ComprehensiveAnalyze_iconView->setEnabled(FALSE);    Kc_lineEdit->setEnabled(FALSE);    Xxd_lineEdit->setEnabled(FALSE);    Xd_lineEdit->setEnabled(FALSE);    Ifg_lineEdit->setEnabled(FALSE);    If0_lineEdit->setEnabled(FALSE);    Ifk_lineEdit->setEnabled(FALSE);}QPixmap ComprehensiveAnalyze_Form::Draw_coordinate(){    int i,j,k;    float k3=1.3;    QString str0,str1,str2,strx[4],stry[6],strz[6];    ComprehensiveAnalyze_iconView->clear();    QPixmap pixmap( 420, 300 );    pixmap.fill( white );    QPainter painter;    painter.begin( &pixmap );    painter.setPen( black );    painter.drawLine(40, 280, 405, 280);    painter.drawLine(40, 280, 40, 15);    painter.setPen( blue );    painter.drawText(20, 10, "U0", -1);    for( j=1; j<=5; j++){	stry[j] = QString ("%0").arg(J[0]*k3*j/5, 0, 'f', 0);	painter.drawText(10, 280-(280-30)*j/5, stry[j], -1);    }    painter.setPen( red );    painter.drawText(45, 10, "Ik", -1);    for( k=1; k<=5; k++){	strz[k] = QString ("%0").arg(J[1]*k3*k/5, 0, 'f', 0);	painter.drawText(10, 290-(280-30)*k/5, strz[k], -1);    }    painter.setPen( gray );    for( i=0; i<10; i++){	painter.drawLine(40, 30+i*25, 400, 30+i*25);    }    for( j=1; j<=10; j++){	painter.drawLine(40+j*36, 30, 40+j*36, 280);    }    painter.setPen( black );    painter.drawText(37, 295, "0", -1);    painter.drawText(410, 285, "Ir", -1);    str2 = QString ("%0").arg(J[2], 0, 'f', 0);    painter.drawText(388, 295, str2, -1);    for( i=1; i<=4; i++){	strx[i] = QString ("%0").arg(J[2]*i/5, 0, 'f', 0);	painter.drawText(28+(400-40)*i/5, 295, strx[i], -1);    }    painter.setPen( magenta );    painter.drawLine(40, 280-(int)(250.0/k3), 400, 280-(int)(250.0/k3));    painter.end();    return pixmap;}void ComprehensiveAnalyze_Form::KZ_choose(){    int i;    QString str1, str2;    E3Datafile_Form*e3datafile_Form = new E3Datafile_Form(this, "试验数据选择", TRUE);    e3datafile_Form->exec();    kzfilename = e3datafile_Form->returnFilename();    QDir::setCurrent("/root/FaultRecorder/experiment/FKZ/");    QFile file( kzfilename );    file.open( IO_ReadOnly );    QTextStream stream( &file );    for( i=0; i<1000; i++ ){	stream>>str1;	stream>>str2;	Xk[i] = atoi( str1 );	Yk[i] = atoi( str2 );	if ( Yk[i] == (int)J[0] ){	    If0 = (float) Xk[i];		//求出If0;	}    }    file.close();    (void) new QIconViewItem( ComprehensiveAnalyze_iconView, "", Draw_kz_curve());    KZdatechoose_pushButton->setEnabled(FALSE);}QPixmap ComprehensiveAnalyze_Form::Draw_kz_curve(){    int i, x, y, x0, y0;    float k3 = 1.3;    ComprehensiveAnalyze_iconView->clear();    QPixmap pixmap( 420, 300 );    QPainter painter;    painter.begin( &pixmap );    painter.setPen( blue );    x0 = (int) (40 + Xk[0]*360/J[2]) ;    y0 = (int) (280 - Yk[0]*250/k3/J[0]) ;    for( i=1; i<1000; i++){	x = (int) (40 + Xk[i]*360/J[2]) ;	y = (int) (280 - Yk[i]*250/k3/J[0]) ;	painter.drawLine( x0, y0, x, y );	x0 = x;	y0 = y;    }    painter.end();    return pixmap;}void ComprehensiveAnalyze_Form::DL_choose(){    int i;    QString str1, str2;    E4Datafile_Form*e4datafile_Form = new E4Datafile_Form(this, "试验数据选择", TRUE);    e4datafile_Form->exec();    dlfilename = e4datafile_Form->returnFilename();    QDir::setCurrent("/root/FaultRecorder/experiment/FDL/");    QFile file( dlfilename );    file.open( IO_ReadOnly );    QTextStream stream( &file );    for( i=0; i<1000; i++ ){	stream>>str1;	stream>>str2;	Xd[i] = atoi( str1 );	Yd[i] = atoi( str2 );	if ( Yd[i] == (int)J[1] ){	    Ifk = (float) Xd[i];		//求出Ifk;	    	}    }    file.close();    (void) new QIconViewItem( ComprehensiveAnalyze_iconView, "", Draw_dl_curve());    DLdatechoose_pushButton->setEnabled(FALSE);}QPixmap ComprehensiveAnalyze_Form::Draw_dl_curve(){    int i, x, y, x0, y0;    float k3 = 1.3;    ComprehensiveAnalyze_iconView->clear();    QPixmap pixmap( 420, 300 );    QPainter painter;    painter.begin( &pixmap );    painter.setPen( red );    x0 = (int) (40 + Xd[0]*360/J[2]) ;    y0 = (int) (280 - Yd[0]*250/k3/J[1]) ;    for( i=1; i<1000; i++){	x = (int) (40 + Xd[i]*360/J[2]) ;	y = (int) (280 - Yd[i]*250/k3/J[1]) ;	painter.drawLine( x0, y0, x, y );	x0 = x;	y0 = y;    }    painter.end();    return pixmap;}//绘制切线,求出结果;void ComprehensiveAnalyze_Form::comprehensive_analyze(){    QString str1,str2,str3,str4,str5,str6;    (void) new QIconViewItem( ComprehensiveAnalyze_iconView, "", Draw_qx_curve());    Kc = If0 / Ifk;			//求出Kc;    Xxd = Ifk / Ifg;			//求出X*d;    Xdd = J[0]/1.73205/Ibc;		//求出Xd;    str1 = QString ("%0").arg(Kc, 0, 'f', 4);    Kc_lineEdit->setText(str1);    str2 = QString ("%0").arg(Xxd, 0, 'f', 4);    Xxd_lineEdit->setText(str2);    str3 = QString ("%0").arg(Xdd, 0, 'f', 4);    Xd_lineEdit->setText(str3);    str4 = QString ("%0").arg(Ifg, 0, 'f', 4);    Ifg_lineEdit->setText(str4);    str5 = QString ("%0").arg(If0, 0, 'f', 4);    If0_lineEdit->setText(str5);    str6 = QString ("%0").arg(Ifk, 0, 'f', 4);    Ifk_lineEdit->setText(str6);        ComprehensiveAnalyze_pushButton->setEnabled(FALSE);}QPixmap ComprehensiveAnalyze_Form::Draw_qx_curve(){    float s, kx0, kxa, kx[30];    float k3 = 1.3;    int i, j;    ComprehensiveAnalyze_iconView->clear();    for( i=999; i>0; i-- ){	if( Xk[i] != 0 && Yk[i] !=0 ){	    P=i;	    break;	}    }    kx0 = ((float)Yk[P]) / ((float)Xk[P]);    j=1;    s=0.0;    for ( i=P-10; i>=P-30; i--){	kx[j] = (float)( Yk[i] - Yk[P+1] ) / (float)( Xk[i] - Xk[P+1] );	if ( fabs(kx0-kx[j]) <= 0.5 ){	    s=s+kx[j];	    j++;	}    }    kxa=s/ (j-1);    QPixmap pixmap( 420, 300 );    QPainter painter;    painter.begin( &pixmap );    painter.setPen( green );    painter.drawLine( 40, 280, (int)(40.0+k3*J[0]*360/kxa/J[2]), 30);    painter.end();        Ifg = J[0]/kxa;			//求出Ifg;    for( i=999; i>=0; i-- ){	if ( Xd[i] == (int)Ifg ){	    Ibc = 1.0*Yd[i];		//求出Ibc;	}    }    return pixmap;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -