如何为QLineSeries / QXYSeries设置自定义点标签格式?

问题描述 投票:0回答:1

Context:我尝试在QLineSeries上绘制QChart,以打印值随时间的变化。因此,X轴(横坐标)为QDateTimeAxis,Y轴(纵坐标)为QValueAxis

问题:我要显示点标签。但是我找不到如何为日期时间设置所需的格式。默认情况下,标签只能绘制点的整数值,这是我想要的纵坐标值。但是,对于横坐标(日期时间)值,它显示自上一个历元(1970-01-01T00:00:00.000以来经过的毫秒数。我想更改日期时间的格式以匹配“ hh:mm:ss”(这是我用来在QDateTimeAxis上显示刻度的格式)。

我知道有一个QXYSeries::setPointlabelsFormat()可以指定格式,但只接受QXYSeries::setPointlabelsFormat()@xPoint格式标签(如您在文档中所见)。

  • 在这里您可以找到问题的图片:@yPoint

您可以看到,我可以设置enter image description here的格式,但不能在点标签上设置。

产生此输出的代码示例基于提供的QDateTimeAxis。我只是添加了更多点,并且未注释行here

问题:是否可以用自定义格式(理想情况下匹配//ls->setPointLabelsVisible(true);)打印@xPoint标签?如果是,怎么办?

c++ qt qtcharts
1个回答
0
投票

[C0不支持。您可以通过查看代码,根据QDateTime::toString("hh:mm:ss")实现的相同内容,从QXYSeries中为您的所谓的 QAbstractSeries派生一个新类。您可能还想更改QXYDatetimeSeries源代码以支持您的行为。不要忘记将您的更改推送到Qt git存储库,以便其他人也可以使用它。

© www.soinside.com 2019 - 2024. All rights reserved.