Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Я.К. от Ноябрь 01, 2008, 14:05



Название: Вопрос новичка: QwtPlotPanner: как установить границы области?
Отправлено: Я.К. от Ноябрь 01, 2008, 14:05
Есть примерно такой код:
Код:
#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 от сих до сих), а также чтобы график перерисовывался во время перетаскивания?