QCustomPlot 鼠标消息获取,以及对应坐标转换

1 首先在 MainWindow.h 中加入 消息处理程序(槽)

private slots:
  void my_mouseMove(QMouseEvent* event);

 

 

 

2 在 MainWindow.cpp 中实现 (槽)

void MainWindow::my_mouseMove(QMouseEvent* event)
{
 //获取鼠标坐标点
    int x_pos = event->pos().x(); 
    int y_pos = event->pos().y();

// 把鼠标坐标点 转换为 QCustomPlot 内部坐标值 (pixelToCoord 函数)
// coordToPixel 函数与之相反 是把内部坐标值 转换为外部坐标点
    float x_val = ui->plot->xAxis->pixelToCoord(x_pos);
    float y_val = ui->plot->yAxis->pixelToCoord(y_pos);

// 然后打印在界面上
    ui->label->setText(tr("(%1  %2  ||  %3  %4)").arg(x_pos).arg(y_pos).arg(x_val).arg(y_val));
}

 

 

 

3 把 QCustomPlot 的 鼠标移动信号 与 槽  链接 起来

connect(ui->plot, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(my_mouseMove(QMouseEvent*)));

 

posted @ 2017-06-01 22:34  ele_eye  阅读(5268)  评论(0编辑  收藏  举报