QCustomPlot获取选点坐标

QCustomPlot的plottableClick(QCPAbstractPlottable* plottable, int dataIndex, QMouseEvent* event)信号在鼠标单击绘图层上的数据点时发出,plottable是接收点击的绘图层,dataIndex是最接近点击位置的数据点索引,event是鼠标点击事件。

首先需要设置QCustomPlot可选点,关联plottableClick信号:

//设置可选点
ui->m_pPlotZoom->setInteractions(QCP::iSelectPlottables);

//关联选点信号
connect(ui->m_pPlotZoom, SIGNAL(plottableClick(QCPAbstractPlottable*, int, QMouseEvent*)), this, SLOT(OnPlotClick(QCPAbstractPlottable*, int, QMouseEvent*)));

//选点处理函数
void MainWindow::OnPlotClick(QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event)
{
  //先获取点击的绘图层名称,然后通过名称找到图层ID,再找到对应的数据点
  int graphId = m_vecDataName.indexOf(plottable->name());
  const QCPGraphData *ghd = ui->m_pPlotZoom->graph(graphId)->data()->at(dataIndex);
  qDebug() << ghd->key << ghd->value;
}

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值