Есть примерно такой код:
#include <QtGui/QApplication>
#include <QVector>
#include <qwt_plot.h>
#include <qwt_plot_curve.h>
#include <qwt_plot_panner.h>
#include <qwt_plot_grid.h>
#include <qwt_plot_canvas.h>
#define NUM_OF_POINTS 1000
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QwtPlot* megaPlot = new QwtPlot(QwtText("MegaPlot"));
QwtPlotCurve* megaCurve = new QwtPlotCurve("MEGALINE");
double x[NUM_OF_POINTS], y[NUM_OF_POINTS];
for(int i = 0; i < NUM_OF_POINTS; i++)
{
x[i] = i;
y[i] = i*i;
}
megaCurve->setData(x,y,NUM_OF_POINTS);
megaCurve->attach(megaPlot);
QwtPlotGrid* megaGrid = new QwtPlotGrid;
megaGrid->enableXMin(true);
megaGrid->enableYMin(true);
megaGrid->attach(megaPlot);
megaPlot->resize(640,480);
QwtPlotPanner* megaPanner = new QwtPlotPanner(megaPlot->canvas());
megaPanner->setMouseButton(Qt::RightButton);
megaPlot->show();
return a.exec();
}
Проблема в следующем:
Когда я перетаскиваю свой график с помощью мыши, то:
а) график можно утащить куда угодно, далеко выйдя из области его построения
б) во время перетаскивания мышью график не подгружается. То есть перетаскивается тот кусок, что уже отрисован, бросается на новое место, и лишь тогда перерисовывается и то, что ранее не помещалось на экране.
Как сделать так, чтобы график имел четко определеную область построения (х от сих до сих, Y от сих до сих), а также чтобы график перерисовывался во время перетаскивания?