Qt示例解析 【Callout】

目的:从此示例中了解QChart中曲线的绘制方法 和 插图的生成方法。本博文主要侧重于插图的生成方法。

本示例中有View和Callout两个类

View类:继承自QGraphicsView

添加两个曲线,series和series2,并各自关联了两个事件,鼠标的点击事件(对应KeepCallout)和悬停事件(对应tooltip)

KeepCallout中将Callout图元添加到Scene(场景)中,代码实现如下

m_callouts.append(m_tooltip);
m_tooltip = new Callout(m_chart);

tooltip中,若鼠标悬停在曲线上,则显示Callout图元;若不悬停在曲线上,则隐藏Callout图元。代码实现如下

    if (m_tooltip == 0)
        m_tooltip = new Callout(m_chart);

    if (state) {
        m_tooltip->setText(QString("X: %1 \nY: %2 ").arg(point.x()).arg(point.y()));
        m_tooltip->setAnchor(point);
        m_tooltip->setZValue(11);
        m_tooltip->updateGeometry();
        m_tooltip->show();
   

你可能感兴趣的:(QT)