Hi,
I am having trouble draw a polyline from a vector of QPointF which is calculated in another class "getAvgHighTempVec".
Here is my code:
// main.cpp
size_t qpoint_size = c.getAvgHighTempVec().size();
QVector<QPointF> points(qpoint_size);
for(size_t i=0; i < qpoint_size; i++){
points[i].setX(i);
points[i].setY(c.getAvgHighTempVec().at(i));
}
weatherStationGUI.draw(points);
// main.cpp
size_t qpoint_size = c.getAvgHighTempVec().size();
QVector<QPointF> points(qpoint_size);
for(size_t i=0; i < qpoint_size; i++){
points[i].setX(i);
points[i].setY(c.getAvgHighTempVec().at(i));
}
weatherStationGUI.draw(points);
To copy to clipboard, switch view to plain text mode
//weatherstationgui.h
namespace Ui {
class weatherstationgui;
}
{
Q_OBJECT
public:
explicit weatherstationgui
(QWidget *parent
= 0);
~weatherstationgui();
void draw( QVector<QPointF> dataIn);
private:
Ui::weatherstationgui *ui;
QVector<QPointF> wellData;
protected:
// paint method
};
//weatherstationgui.h
namespace Ui {
class weatherstationgui;
}
class weatherstationgui : public QMainWindow
{
Q_OBJECT
public:
explicit weatherstationgui(QWidget *parent = 0);
~weatherstationgui();
void draw( QVector<QPointF> dataIn);
private:
Ui::weatherstationgui *ui;
QVector<QPointF> wellData;
protected:
// paint method
void paintEvent(QPaintEvent *event);
};
To copy to clipboard, switch view to plain text mode
//weatherstationgui.cpp
void weatherstationgui::draw(QVector<QPointF> dataIn){
wellData = dataIn;
update();
}
void weatherstationgui
::paintEvent(QPaintEvent *event
){
// create a painter
painter.drawPolyline(wellData.data(), static_cast<int>(wellData.size()));
}
//weatherstationgui.cpp
void weatherstationgui::draw(QVector<QPointF> dataIn){
wellData = dataIn;
update();
}
void weatherstationgui::paintEvent(QPaintEvent *event){
// create a painter
QPainter painter(this);
painter.drawPolyline(wellData.data(), static_cast<int>(wellData.size()));
}
To copy to clipboard, switch view to plain text mode
In the debugger I can see 'wellData' indeed has the correct QPointF points values, but it just doesn't draw on the main window.
Is there anything wrong with my code?
Thanks
Bookmarks