接笔记1。显示了线后,我想在鼠标悬停在线上的时候,显示所在点的Y轴的值。像下面图这样。

实现方法是这样的。首先继承QChartView类,在类里面添加一个槽函数,用来连接LineSeries上的悬停信号。
QObject::connect(series, SIGNAL(hovered(const QPointF&,bool)), chartView, SLOT(showPos(const QPointF&, bool)));
class ChartView : public QChartView
{
Q_OBJECT
public:
ChartView(QChart *chart, QWidget *parent = 0);
public slots:
void showPos(const QPointF&, bool);
};
void ChartView::showPos(const QPointF& point, bool state)
{
QPoint tempPoint;
tempPoint.setX(qRound(point.x()));
tempPoint.setY(qRound(point.y()));
if (state && static_cast<QSplineSeries*>(this->chart()->series().at(0))->points().contains(tempPoint)) {
QToolTip

本文介绍如何在QtCharts中实现鼠标悬停时显示坐标轴值的功能,包括设置日期格式化的X轴和数值型Y轴,并通过Lambda表达式处理悬停事件。
最低0.47元/天 解锁文章





