1

I have a piece of qt code that didn't work (i.e. kept showing blank window)

mainwindow.h :

#include <QMainWindow>
#include <QTimer>
#include "qcustomplot.h"
#include <qcustomplot.h>

class MainWindow : public QMainWindow
{
public:
    MainWindow(QWidget *parent = 0);
};

mainwindow.cpp :

#include "mainwindow.h"
#include <QDebug>
#include <QDesktopWidget>
#include <QScreen>
#include <QMessageBox>
#include <QMetaEnum>
#include <iostream>

using namespace std;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)

{
    QCustomPlot *customPlot = new QCustomPlot;
    cout<<"srsly wtf!!!!"<<endl;
    // generate some data:
    QVector<double> x(101), y(101); // initialize with entries 0..100
    for (int i=0; i<101; ++i)
    {
    x[i] = i/50.0 - 1; // x goes from -1 to 1
    y[i] = x[i]*x[i]; // let's plot a quadratic function
    }
    // create graph and assign data to it:
    customPlot->addGraph();
    customPlot->graph(0)->setData(x, y);
    // give the axes some labels:
    customPlot->xAxis->setLabel("x");
    customPlot->yAxis->setLabel("y");
    // set axes ranges, so we see all data:
    customPlot->xAxis->setRange(-1, 1);
    customPlot->yAxis->setRange(0, 1);
    customPlot->replot();

}

main.cpp :

#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

and the result should be something like this http://www.qcustomplot.com/images/examples/quadraticdemo.png

I used QCustomPlot library that could be found here http://www.qcustomplot.com/index.php/download

1 Answer 1

1

you have to :
1-create a widget
2-promot this to a QCustomPlot class
2-use the widget as QCustomPlot OR create a QCustomPlot pointer and set it to point to the widget:

QCustomPlot *customPlot = ui->widget;

OR

ui->widget->addGraph(); .....

than continue as you did.
* the QCustomPlot needs the widget to draw on it.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.