📄 display.cpp
字号:
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 + -