Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 2nd, 2012  |  syntax: C++  |  size: 1.49 KB  |  hits: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <QApplication>
  2. #include <QMainWindow>
  3. #include <QHBoxLayout>
  4. #include "dataplot.h"
  5.  
  6.  
  7. const int PLOT_SIZE = 120;
  8.  
  9.  
  10. class MainWindow : public QMainWindow
  11. {
  12. public:
  13.         MainWindow()
  14.         {
  15.                 QHBoxLayout *layout = new QHBoxLayout;
  16.  
  17.                 data = new CurveData( PLOT_SIZE );
  18.                 plot1 = new DataPlot;
  19.                 plot2 = new DataPlot;
  20.                 plot1->setTitle( QString("ECG1:") );
  21.                 plot2->setTitle( QString("ECG2:") );
  22.                 plot1->curve->setRawData( data->x() , data->y() , PLOT_SIZE );
  23.                 plot2->curve->setRawData( data->x() , data->y() , PLOT_SIZE );
  24.  
  25.                 layout->addWidget(plot1);
  26.                 layout->addWidget(plot2);
  27.  
  28.                 //setCentralWidget( plot1 );
  29.                 startTimer( 20 );
  30.         }
  31. private:
  32.         DataPlot* plot1;
  33.         DataPlot* plot2;
  34.         CurveData* data;
  35.  
  36.         virtual void timerEvent( QTimerEvent* e );
  37. };
  38.  
  39.  
  40. void MainWindow::timerEvent( QTimerEvent* )
  41. {
  42.         static double phase = 0.0;
  43.         for ( int i = PLOT_SIZE - 1; i > 0; i-- )
  44.                 data->d_y[i] = data->d_y[i-1];
  45.         data->d_y[0] = sin( phase );
  46.         plot1->replot();
  47.         plot2->replot();
  48.         phase += M_PI * 0.02;
  49. }
  50.  
  51.  
  52. int main(int argc, char *argv[])
  53. {
  54.         QApplication a(argc, argv);
  55.  
  56.         MainWindow mw;
  57.         mw.setLayout(layout);
  58.         mw.resize(600,400);
  59.         mw.show();
  60.  
  61.         return a.exec();
  62. }