【问题标题】:qwt: how to add extra text in legendqwt:如何在图例中添加额外的文本
【发布时间】:2019-01-04 08:26:47
【问题描述】:

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

现在除了线本身的描述之外,我想添加额外的文本来描述图表。

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

【问题讨论】:

  • 那么您目前有任何“手动”图例设置代码,还是留给自动?
  • 目前是全自动的。

标签: legend qwt


【解决方案1】:

图例中QwtPlot的描述是QwtLegendData。在QwtPlotItem doc(它是所有 QwtPlots 的超类)中进一步:

QwtLegendData 基本上是一个 QVariants 列表,可以重载和重新实现 legendData() 以返回几乎任何类型的信息,充当图例的接收器可以理解这些信息。

因此,您需要做的就是从图中提取现有的“自动”图例,然后再添加一个 QwtLegendData。它还需要一个 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多