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

📄 display.cpp

📁 在ARM9和ARMLinux下利用QT编写的实时数据采集
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    screenSec = new Screen( this, "screenSec" );
	screenSec->setYTitle( QObject::tr( "Vlure 2" ) );    //screenSec->setMinimumSize( QSize( 100, 100 ) );    //screenSec->setFrameShape( QFrame::StyledPanel );    //screenSec->setFrameShadow( QFrame::Raised );    layout1->addWidget( screenSec );    screenThr = new Screen( this, "screenThr" );
	screenThr->setYTitle( QObject::tr( "Vlure 3" ) );    //screenThr->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, screenThr->sizePolicy().hasHeightForWidth() ) );    //screenThr->setMinimumSize( QSize( 100, 100 ) );    //screenThr->setFrameShape( QFrame::StyledPanel );    //screenThr->setFrameShadow( QFrame::Raised );    layout1->addWidget( screenThr );    DisplayWidgetLayout->addMultiCellLayout( layout1, 0, 1, 2, 2 );    startButton = new QPushButton( this, "startButton" );    startButton->setAutoDefault( FALSE );    startButton->setDefault( TRUE );	connect( startButton, SIGNAL( clicked () ), SLOT( start() ) );
    DisplayWidgetLayout->addWidget( startButton, 2, 0 );    labelPixmap = new QLabel( this, "labelPixmap" );    //labelPixmap->setPixmap( image0 );
	labelPixmap->setPixmap( QPixmap("qtlogo.bmp")  );    DisplayWidgetLayout->addMultiCellWidget( labelPixmap, 0, 0, 0, 1 );    stopButton = new QPushButton( this, "stopButton" );
	connect( stopButton, SIGNAL( clicked () ), SLOT( stop() ) );    DisplayWidgetLayout->addWidget( stopButton, 2, 1 );    QSpacerItem* spacer = new QSpacerItem( 31, 300, QSizePolicy::Minimum, QSizePolicy::Expanding );    DisplayWidgetLayout->addItem( spacer, 1, 1 );    layout5 = new QHBoxLayout( 0, 0, 6, "layout5");     layout2 = new QVBoxLayout( 0, 0, 6, "layout2");     labelFir = new QLabel( this, "labelFir" );    labelFir->setAlignment( int( QLabel::AlignCenter ) );    layout2->addWidget( labelFir );    lineEditFir = new QLineEdit( this, "lineEditFir" );    lineEditFir->setReadOnly( TRUE );    layout2->addWidget( lineEditFir );    layout5->addLayout( layout2 );    layout3 = new QVBoxLayout( 0, 0, 6, "layout3");     labelSec = new QLabel( this, "labelSec" );    labelSec->setAlignment( int( QLabel::AlignCenter ) );    layout3->addWidget( labelSec );    lineEditSec = new QLineEdit( this, "lineEditSec" );
	lineEditSec->setReadOnly( TRUE );    layout3->addWidget( lineEditSec );    layout5->addLayout( layout3 );    layout4 = new QVBoxLayout( 0, 0, 6, "layout4");     labelThr = new QLabel( this, "labelThr" );    labelThr->setAlignment( int( QLabel::AlignCenter ) );    layout4->addWidget( labelThr );    lineEditThr = new QLineEdit( this, "lineEditThr" );
	lineEditThr->setReadOnly( TRUE );    layout4->addWidget( lineEditThr );    layout5->addLayout( layout4 );    DisplayWidgetLayout->addLayout( layout5, 2, 2 );    languageChange();    resize( QSize(630, 450).expandedTo(minimumSizeHint()) );    //setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);    clearWState( WState_Polished );

	yval[0] = 0.0;	yval[1] = 0.0;	yval[2] = 0.0;	ADFile = new QFile( ADC_DEV );
	//readFile();}/* *  Destroys the object and frees any allocated resources */DisplayWidget::~DisplayWidget(){    // no need to delete child widgets, Qt does it all for us}/* *  Sets the strings of the subwidgets using the current *  language. */void DisplayWidget::languageChange(){    setCaption( tr( "Cureve" ) );    startButton->setText( tr( "&Start" ) );    startButton->setAccel( QKeySequence( tr( "Alt+S" ) ) );    labelPixmap->setText( QString::null );    stopButton->setText( tr( "Sto&p" ) );    stopButton->setAccel( QKeySequence( tr( "Alt+P" ) ) );    labelFir->setText( tr( "First Curve" ) );    labelSec->setText( tr( "Second Curve" ) );    labelThr->setText( tr( "Thrid Curve" ) );}
void DisplayWidget::run()
{
	//screen->initNumber();
	//screen->initCordinate();
    if ( !timer ) {
	timer = new QTimer( this );
	connect( timer, SIGNAL( timeout() ), SLOT( tick() ) );
    }
        
    timer->start( 1000 );
}


void DisplayWidget::tick()
{/*
	//time += 2;
	yval = readCurveDate();
    	//screen->animate(time, yval);
	screenFir->animate( yval );
	screenSec->animate( yval );
	screenThr->animate( yval );
	lineEditFir->setText( QString::number( yval ) );
	lineEditSec->setText( QString::number( yval ) );
	lineEditThr->setText( QString::number( yval ) );*/	for(int i=0; i<=2; i++)    	{//采样0~2路A/D值		yval[i]=((float)GetADresult(i)*3.3)/1024.0;		printf("a%d=%8.4f\t",i,yval[i]);   	 }	//screenFir->animate( yval[0] );
	//screenSec->animate( yval[1] );
	//screenThr->animate( yval[2] );	screenFir->animate( yval[0]*25 );
	screenSec->animate( yval[1]*25 );
	screenThr->animate( yval[2]*25 );
	lineEditFir->setText( QString::number( yval[0] ) );
	lineEditSec->setText( QString::number( yval[1] ) );
	lineEditThr->setText( QString::number( yval[2] ) );
}

void DisplayWidget::start()
{/*	//int adc_fd;	if((adc_fd=open(ADC_DEV, O_RDWR))<0){		printf("Error opening %s adc device\n", ADC_DEV);		return -1;	}*/	ADFile->open( IO_ReadWrite );
	run();
}
void DisplayWidget::stop()
{	//close( adc_fd );	
	timer->stop();	ADFile->close();
}

QSize DisplayWidget::sizeHint() const
{
	//return QSize( 16 * Margin, 12 * Margin );	return QSize( 20 * Margin, 15 * Margin );
}int DisplayWidget::GetADresult(int channel){	int PRESCALE=0XFF;	int data;		//=ADC_WRITE(channel, PRESCALE);	data=ADC_WRITE(channel, PRESCALE);	//write(adc_fd, &data, sizeof(data));	//read(adc_fd, &data, sizeof(data));	ADFile->writeBlock( (char *)(&data), sizeof(int) );	ADFile->readBlock( (char *)(&data), sizeof(int) );	return (data);}
/*
void DisplayWidget::readFile()
{
	QFile file("in.txt");
	file.open(IO_ReadOnly);
	QTextStream in(&file);	
	str = in.read();
	strlist = QStringList::split(" ", str);
	it = strlist.begin();	
}
double DisplayWidget::readCurveDate( )
{
	QString tempStr;
	double tempDate;
	

	tempStr =(QString) *it;
	tempDate = tempStr.toDouble();
	
	if (it != strlist.end())
	{	
		++it;
		//cerr<<"time=108"<<endl;	
	}
	else
	{
		it = strlist.begin();
		//cerr<<"time=109"<<endl;	
	}
	//cerr<<"curveDate ="<<tempDate<<endl;
	return tempDate;
}
*/

⌨️ 快捷键说明

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