1 首先在 MainWindow.h 中加入 消息處理程序(槽)函數
private slots: void my_mouseMove(QMouseEvent* event);
2 在 MainWindow.cpp 中實現 (槽)ui
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 的 鼠標移動信號 與 槽 連接 起來this
connect(ui->plot, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(my_mouseMove(QMouseEvent*)));