目录
一、 问题描述
二、 解决方案
三、代码实现
一、 问题描述
如题所述。
二、 解决方案
自定义一个继承QCustomPlot类的实现类,重写mouseMove虚函数实现,从而获取鼠标位置,然后计算出点的坐标值,再利用QToolTip显示点坐标。
三、代码实现
继承自QCustomPlot组件的MFMCustomPlot.h实现代码如下:
class MFMCustomPlot : public QCustomPlot
{
Q_OBJECT
public:
MFMCustomPlot(int nIndex,QWidget *parent = 0);
~MFMCustomPlot();
protected:
void mouseMoveEvent(QMouseEvent *e);
};
继承自QCustomPlot组件的MFMCustomPlot.cpp的实现代码如下:
void MFMCustomPlot::mouseMoveEvent(QMouseEvent *e)
{
/* 获取光标位置 */
int x_pos = e->pos().x();
int y_pos = e->pos().y();
/* 转化为坐标系位置 */
double xv = this->xAxis->pixelToCoord(x_pos);
double yv = this->yAxis->pixelToCoord(y_pos);
QString str;
str = QString("\nx:%1\ny:%2").arg(QString::asprintf("%.3f", xv)).arg(QString::asprintf("%.3f",yv));
QToolTip::showText(cursor().pos(), str, this);
}
实现效果
文章来源地址https://www.toymoban.com/news/detail-514999.html文章来源:https://www.toymoban.com/news/detail-514999.html
到了这里,关于【Qt】QCustomPlot组件跟随鼠标显示xy轴坐标位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!