{
public:
MyPlot();
};
MyPlot::MyPlot() :
{
;
}
class MyPlot : public QTableWidgetItem, public QwtPlot
{
public:
MyPlot();
};
MyPlot::MyPlot() :
QTableWidgetItem(), QwtPlot()
{
;
}
To copy to clipboard, switch view to plain text mode
Viewgraph
::Viewgraph(QWidget *parent
){
int samplesNumber = 200;
MyPlot * axis = new MyPlot;
tableWidget->setRowCount(1);
tableWidget->setColumnCount(11);
tableWidget->setRowHeight(0, 300);
tableWidget->setColumnWidth(0, 30);
tableWidget
->verticalHeader
()->setResizeMode
(QHeaderView::Fixed);
tableWidget->verticalHeader()->resizeSection(0, 300);
yData.resize(samplesNumber);
xData.resize(samplesNumber);
zeroData.resize(samplesNumber);
for (int i = 0; i < samplesNumber; i++){
yData[i] = sin((double) i/5);
xData[i] = (double) i;
zeroData[i] = (double) 0;
}
MyPlot * plot = new MyPlot;
tableWidget->setColumnWidth(1, 60);
plot
->enableAxis
(QwtPlot::xBottom,
false);
plot
->enableAxis
(QwtPlot::yLeft,
false);
plot
->setAxisScale
(QwtPlot::yLeft, samplesNumber,
0,
0);
plot
->axisScaleDraw
(QwtPlot::yLeft);
plot
->setAxisScale
(QwtPlot::xBottom,
-1,
1,
0);
plotCurve->setOrientation(Qt::Horizontal);
plotCurve->setSamples(yData, xData);
plotCurve->setBaseline(0);
plotCurve->attach(plot);
tableWidget->setCellWidget(0,1,plot);
axis
->enableAxis
(QwtPlot::xBottom,
false);
axis
->setAxisScale
(QwtPlot::xBottom,
0,
0,
0);
axis
->setAxisScale
(QwtPlot::yLeft, samplesNumber,
0,
0);
axis
->axisScaleDraw
(QwtPlot::yLeft);
zeroCurve->setOrientation(Qt::Horizontal);
zeroCurve
->setPen
(QColor(Qt
::transparent));
zeroCurve->setSamples(zeroData, xData);
zeroCurve->attach(axis);
//tableWidget->setCellWidget(0,0,axis);
tableWidget->setVerticalHeaderItem(0, axis);
tableWidget->show();
}
Viewgraph::Viewgraph(QWidget *parent)
: QMainWindow(parent)
{
int samplesNumber = 200;
QVector <double> yData;
QVector <double> xData;
QVector <double> zeroData;
MyPlot * axis = new MyPlot;
QwtPlotCurve * zeroCurve = new QwtPlotCurve;
QTableWidget * tableWidget = new QTableWidget;
tableWidget->setRowCount(1);
tableWidget->setColumnCount(11);
tableWidget->setRowHeight(0, 300);
tableWidget->setColumnWidth(0, 30);
tableWidget->verticalHeader()->setResizeMode(QHeaderView::Fixed);
tableWidget->verticalHeader()->resizeSection(0, 300);
yData.resize(samplesNumber);
xData.resize(samplesNumber);
zeroData.resize(samplesNumber);
for (int i = 0; i < samplesNumber; i++){
yData[i] = sin((double) i/5);
xData[i] = (double) i;
zeroData[i] = (double) 0;
}
MyPlot * plot = new MyPlot;
QwtPlotCurve * plotCurve = new QwtPlotCurve;
tableWidget->setColumnWidth(1, 60);
plot->enableAxis(QwtPlot::xBottom, false);
plot->enableAxis(QwtPlot::yLeft, false);
plot->setAxisScale(QwtPlot::yLeft, samplesNumber, 0, 0);
plot->axisScaleDraw(QwtPlot::yLeft);
plot->setAxisScale(QwtPlot::xBottom, -1, 1, 0);
plotCurve->setOrientation(Qt::Horizontal);
plotCurve->setSamples(yData, xData);
plotCurve->setBaseline(0);
plotCurve->attach(plot);
tableWidget->setCellWidget(0,1,plot);
axis->enableAxis(QwtPlot::xBottom, false);
axis->setAxisScale(QwtPlot::xBottom, 0, 0, 0);
axis->setAxisScale(QwtPlot::yLeft, samplesNumber, 0, 0);
axis->axisScaleDraw(QwtPlot::yLeft);
zeroCurve->setOrientation(Qt::Horizontal);
zeroCurve->setPen(QColor(Qt::transparent));
zeroCurve->setSamples(zeroData, xData);
zeroCurve->attach(axis);
//tableWidget->setCellWidget(0,0,axis);
tableWidget->setVerticalHeaderItem(0, axis);
tableWidget->show();
}
To copy to clipboard, switch view to plain text mode
Bookmarks