代码之家  ›  专栏  ›  技术社区  ›  Folkert van Heusden

QWT:如何在图例中添加额外文本

  •  0
  • Folkert van Heusden  · 技术社区  · 6 年前

    我有一个QWTplot,里面有几行。它也有一个传说。

    现在,除了对行本身的描述之外,我还想添加一些额外的文本来描述一般的图形。

    例如,“A线:青蛙的长度,B线:青蛙的重量”,然后作为额外的“外部温度为12C”(然后不绘制温度)。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pavel Zdenek    6 年前

    图例中显示的QWTplot的说明为 QwtLegendData . 进一步在 QwtPlotItem 文档(它是所有QWTplots的超类):

    qwtlegenddata基本上是一个qvariants列表,它使重载和重新实现legenddata()返回几乎任何类型的信息成为可能,接收器可以理解这些信息作为图例。

    所以你所需要的就是从图中提取现有的“自动”图例,再添加一个。 为了它。它还需要一个qvariant作为一个“键”来区分每个图的数据,但是它实际上可以是任何与真实图的键不同的期望值。偶数默认(空) QVariant() 会的,如果你不打算再增加这样的额外文本。

    QwtLegendData data;
    data.setValue(QwtLegendData::Role::TitleRole, QVariant("Outside temperature is 12C"));
    QList<QwtLegendData> list;
    list << data;
    QwtAbstractLegend* existingLegend = frogPlot.legend();
    // "update" with a new key really means "insert"
    existingLegend->updateLegend(QVariant("Temperature comment extra text"), list);