QCustomPlot和iRangeDrag在第二个右侧yAxis

时间:2016-09-16 11:46:01

标签: c++ qt qcustomplot

我试图让右轴可以拖动。

现在使用其中一个网站示例,可以通过双击使第一个yAxis可拖动。

void MainWindow::mousePress()
{
// if an axis is selected, only allow the direction of that axis to be dragged
// if no axis is selected, both directions may be dragged

if (ui->customPlot->xAxis->selectedParts().testFlag(QCPAxis::spAxis))
    ui->customPlot->axisRect()->setRangeDrag(ui->customPlot->xAxis->orientation());
else if (ui->customPlot->yAxis->selectedParts().testFlag(QCPAxis::spAxis))
    ui->customPlot->axisRect()->setRangeDrag(ui->customPlot->yAxis->orientation());
else if (ui->customPlot->yAxis2->selectedParts().testFlag(QCPAxis::spAxis))
    ui->customPlot->axisRect()->setRangeDrag(ui->customPlot->yAxis2->orientation());
else
    ui->customPlot->axisRect()->setRangeDrag(Qt::Horizontal|Qt::Vertical);
}

我的图表有两行,每行有不同的yAxis。 我想要实现的是对第二个(右侧)yAxis的可拖动效果,称为yAxis2。 即使我选择yAxis2,也会使用下面的代码,垂直拖动yAxis

我猜问题是在axisRect()中,它只与左边的yAxis有关,而不是与它们两者有关。

1 个答案:

答案 0 :(得分:0)

我通过修改代码来解决,以便在右轴上执行拖动调用。 如果看一看左轴上发生的事情,这是非常简单的。