【CustomPlot】关于x轴时间显示的问题

qq_35787723 2018-09-11 08:55:49
最近要做一个实时显示数据的曲线,x轴取的是现在的时间。
double key=QDateTime::currentDateTime().toMSecsSinceEpoch()/1000.0;
key即为点在x轴上的值,但有一个问题是,这个时间取的是自epoch time以来的时间间隔,但我想显示的是当天时间的时分秒,所以现在h这里就不对。比如现在是20:53:00 但会显示426852:53:00

另外为什么不直接用现在时间的时分秒呢,因为我发现如果我用double key=time.hour()*3600+time.minute()*60+time.second()+time.msec()/1000;会导致画图replot的频率很慢很慢,大概固定在1s左右。这个原因也一直没想明白,也许和Qcustomplot的添加数据的机制有关吗?

另外有资料补充:http://blog.chinaunix.net/uid-11829250-id-5750296.html
这里的博主用的也是double key=QDateTime::currentDateTime().toMSecsSinceEpoch()/1000.0; 但最终显示的却是正确的今日的时分秒,因为版本不同,博主的代码里有部分已经不可用了,但我没有找到版本升级后可代替的了。

希望有好心的大佬解答一下。刚接触Qt和customplot,比较小白。
...全文
971 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35787723 2018-09-12
  • 打赏
  • 举报
回复
引用 1 楼 eastcnme 的回复:
用dateTicker设置时间显示的格式
QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
dateTicker->setDateTimeFormat("hh:mm:ss");
ui->customPlot->xAxis->setTicker(dateTicker);
时间需要使用时间戳值


多谢多谢
qq_35787723 2018-09-12
  • 打赏
  • 举报
回复
感恩!好了
好开心 多谢 原来应该是用QSharedPointer<QCPAxisTickerDateTime> 而不是QSharedPointer<QCPAxisTickerTime>哇
Embedded engineer 2018-09-12
  • 打赏
  • 举报
回复 1
用dateTicker设置时间显示的格式
QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
dateTicker->setDateTimeFormat("hh:mm:ss");
ui->customPlot->xAxis->setTicker(dateTicker);
时间需要使用时间戳值

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧