-------------h--------------------
#ifndef MYMAINWINDOW_H
#define MYMAINWINDOW_H
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QMessageBox>
#include <qwt_plot_curve.h>
#include <qwt_plot.h>
class MyMainWindow
: public QWidget{
Q_OBJECT
public:
explicit MyMainWindow
(QWidget* parent
= 0);
void myRunSlot();
void plotValuesFromFunction(std::vector<double>);
private:
};
#endif // MYMAINWINDOW_H
-------------cpp----------------
#include "MyMainWindow.h"
#include <QGridLayout>
#include <QHBoxLayout>
#include <qwt_plot_curve.h>
#include "RunSimulation.h"
#include <vector>
#include <QtDebug>
using namespace std;
{
setLayout(mainLayout);
myPlot1->setMinimumSize(200, 100);
myPlot2->setMinimumSize(200, 100);
myPlot3->setMinimumSize(200, 100);
myPlot4->setMinimumSize(200, 100);
myPlot5->setMinimumSize(200, 100);
myPlot6->setMinimumSize(200, 100);
buttonLayout->addWidget(BUTTONRun ,0,0);
buttonLayout->addWidget(BUTTONQuit ,0,1);
buttonLayout->addWidget(BUTTONAbout ,1,0);
buttonLayout->addWidget(BUTTONContact,1,1);
buttonWidget->setLayout(buttonLayout);
mainLayout->addWidget(myPlot1 ,0,0,1,1);
mainLayout->addWidget(myPlot2 ,0,1,1,1);
mainLayout->addWidget(myPlot3 ,0,2,1,1);
mainLayout->addWidget(myPlot4 ,1,0,1,1);
mainLayout->addWidget(myPlot5 ,1,1,1,1);
mainLayout->addWidget(myPlot6 ,1,2,1,1);
mainLayout->addWidget(buttonWidget ,0,3,1,1);
myCurve1.attach(myPlot1);
myCurve2.attach(myPlot2);
myCurve3.attach(myPlot3);
myCurve4.attach(myPlot4);
myCurve5.attach(myPlot5);
myCurve6.attach(myPlot6);
QObject::connect(BUTTONQuit,
SIGNAL(clicked
()),
qApp,
SLOT(quit
()));
QObject::connect(BUTTONAbout,
SIGNAL(clicked
()),
qApp,
SLOT(aboutQt
()));
QObject::connect(BUTTONRun,
SIGNAL(clicked
()),
qApp,
SLOT(myRunSlot
()));
}
void MyMainWindow::plotValuesFromFunction(vector<double>points)
{
QVector<double> x(1);
QVector<double> y(1);
x.append( points[0] );
y.append( points[1] );
myCurve1.setSamples(x.data(),y.data(),x.size());
myCurve2.setSamples(x.data(),y.data(),x.size());
myCurve3.setSamples(x.data(),y.data(),x.size());
myCurve4.setSamples(x.data(),y.data(),x.size());
myCurve5.setSamples(x.data(),y.data(),x.size());
myCurve6.setSamples(x.data(),y.data(),x.size());
myPlot1->replot();
myPlot2->replot();
myPlot3->replot();
myPlot4->replot();
myPlot5->replot();
myPlot6->replot();
myPlot1->show();
myPlot2->show();
myPlot3->show();
myPlot4->show();
myPlot5->show();
myPlot6->show();
}
void MyMainWindow::myRunSlot()
{
qDebug()<<"method my run slot ";
RunSimulation(this);
}