Qwt graph page crashes GUI
-
I designed a GUI on qt creator running on a Raspberry Pi on Raspbian.
Once you reach the graph made by qwt the program quits completely to desktop.
Notably the program works when you run it from qt creator.
I suspect I am missing a library. -
@MShields
Yes.
I am not sure how you do that on Raspberry Pi.
On windows you would have a dll and you could get possibly such a problem when the dll is missing.Again the Qwt mailing might be a good option as well, when the problem is tied to Qwt features. AFAIK Qwt is still considered as a third party library based on Qt. I have seen feedback from Uwe on this forum in the past. However, I am not sure, if they(he) monitor this forum closely.
Typically Qwt related posts are meant to go to 3rd party software. However, your post does also here. If you like I can move it to 3rd party software.
-
Just saw that you posted the same question again and one of the moderators closed it.
Did you contact Qwt's mailing list?
When you can limited your problem to Qwt it is really the best source to post there. However, in my opinion you shall make sure that it is not a general Qt problem then.Also you shave a bit of an exotic issue. Therefore, out of personal experience you might have to wait longer than a day.
-
While playing with the code I discovered that if i comment out the lines:
grid->setMajorPen(Qt::gray,1,Qt::Dashline);
grid->setMinorPen(Qt::gray,1,Qt::Dashline);
curve1->setPen(colour1);
curve1->setSymbol(symbol1)grid is a QwtPlotGrid and curve1 is a QwtPlotCurve.
Then the code works. However i still need to change how the curve looks.
-
While playing with the code I discovered that if i comment out the lines:
grid->setMajorPen(Qt::gray,1,Qt::Dashline);
grid->setMinorPen(Qt::gray,1,Qt::Dashline);
curve1->setPen(colour1);
curve1->setSymbol(symbol1)grid is a QwtPlotGrid and curve1 is a QwtPlotCurve.
Then the code works. However i still need to change how the curve looks.
-
Here is the all the lines as is:
// grid->setMajorPen(Qt::gray, 1, Qt::DashLine);
// grid->setMinorPen(Qt::gray, 1, Qt::DashLine);QColor colour1 = Qt::red;
// curve1->setPen(colour1);
QwtSymbol *symbola1 = new QwtSymbol( QwtSymbol::Ellipse, QBrush( Qt::black ), QPen( Qt::red, 2 ), QSize( 8, 8 ) );
// curve1->setSymbol( symbola1 );If any of the lines which are commented out are uncommented out the the program crashs when it reachs that page.
-
grid and curve1 are successfully used in other situations
e.g
grid->enableX(true);
grid->attach(myPlot);curve1->setSamples(Column1, Column2, 26);
curve1->setYAxis(QwtPlot::yLeft);@MShields said:
grid and curve1 are successfully used in other situations
e.g
grid->enableX(true);
grid->attach(myPlot);curve1->setSamples(Column1, Column2, 26);
curve1->setYAxis(QwtPlot::yLeft);That might be, but the question is if they are still valid when you are trying to access where you the crash. E.g. try to modify curve1 with setSymbol when you are able to use those pointers successfully.
For instance this way:
curve1->setSamples(Column1, Column2, 26); curve1->setYAxis(QwtPlot::yLeft); QColor colour1 = Qt::red; curve1->setPen(colour1); QwtSymbol *symbola1 = new QwtSymbol( QwtSymbol::Ellipse, QBrush( Qt::black ), QPen( Qt::red, 2 ), QSize( 8, 8 ) ); curve1->setSymbol( symbola1 );