The Problem:
I have a plot with controls for changing the scale (linear vs log) and for changing the min X and the max X values, then replot. But the code only works well on Mac OS, and not in Linux!

I start out with:
Qt Code:
  1. calibPlot->setAxisScaleEngine(QwtPlot::xBottom, new QwtLinearScaleEngine () );
  2. calibPlot->replot();
To copy to clipboard, switch view to plain text mode 

Then I call the control buttons: using a function: setupGraphControls();
In the function I define the controls, and connect them to corresponding SLOTS:
Qt Code:
  1. connect( axisXScale, SIGNAL( activated( const QString &)),
  2. this, SLOT(xAxisScaleChange( const QString &) ) );
  3. connect( axisXStart, SIGNAL( textChanged ( const QString & )),
  4. this, SLOT(xAxisScaleMin( const QString & ) ) );
  5. connect( axisXEnd, SIGNAL( textChanged( const QString &)),
  6. this, SLOT(xAxisScaleMax( const QString &) ) );
To copy to clipboard, switch view to plain text mode 

The slots are coded as (one example):
Qt Code:
  1. void CentralPage::xAxisScaleMin( const QString &xMinVal)
  2. {
  3. bool ok;
  4. const bool doReplot = calibPlot->autoReplot();
  5. calibPlot->setAxisScale(QwtPlot::xBottom, xMinVal.toInt(&ok,10),axisXEnd->text().toInt(&ok,10) );
  6. calibPlot->setAutoReplot( doReplot );
  7. calibPlot->replot(); }
  8. }
To copy to clipboard, switch view to plain text mode 

In the connection statements, should I be using something else in place of "this" ? Has anyone else seen this issue, I use qwt-5.2.0.

Any more elegant ways of doing this?

// Sal Aguinaga
// Northwestern University