いくつかの曲線を含む QwtPlot があり、これらの曲線から選択したポイント (および曲線ポインター) を取得できるようにしたいと考えています。クリックしてポイントを選択し、四角形をドラッグしてポイントを選択します。
次のコードを使用します。
// Picker with click point machine to provide point selection
QwtPlotPicker* clickPicker = new QwtPlotPicker(this->canvas());
clickPicker->setStateMachine(new QwtPickerClickPointMachine);
clickPicker->setMousePattern(0,Qt::LeftButton,Qt::SHIFT);
connect(clickPicker, SIGNAL(appended(QPointF)),
this, SLOT(pointSelected(QPointF)));
// Picker with drag rect machine to provide multiple points selection
QwtPlotPicker* rectPicker = new QwtPlotPicker(
this->xBottom, this->yLeft, QwtPicker::RectRubberBand,
QwtPicker::AlwaysOff, this->canvas());
QwtPickerDragRectMachine* test = new QwtPickerDragRectMachine();
test->setState(QwtPickerMachine::RectSelection);
rectPicker->setStateMachine(test);
connect(rectPicker, SIGNAL(selected(QRectF)),
this, SLOT(pointsSelected(QRectF)));
しかし、曲線だけでなく、QwtPlotをクリックするたびにpointSelectedスロットが呼び出されます
ところで、スロットを信号QwtPlotPicker::selected(const QVector &pa)に接続しようとしましたが、決して放出されません...