qt chart 以时间坐标轴为X轴,在添加数据时,时间转为整数时应转为毫秒单位的整数

qt chart 以时间坐标轴为X轴,在添加数据时,时间转为整数时应转为毫秒单位的整数,同时应注意时间的设置以及转成毫秒的数值bit位数,如果以当前时间转为毫秒则已超出int(32bit)的范围

axisTime = new QDateTimeAxis;
axisTime->setFormat("mm:ss");
axisTime->setLabelsColor("#CCCCCC");
//int min = QDateTime(base_date, base_time).toSecsSinceEpoch();
//int max = QDateTime(base_date, end_time).toSecsSinceEpoch();
axisTime->setMin(QDateTime(base_date, base_time));
axisTime->setMax(QDateTime(base_date, end_time));
axisTime->setTickCount(7);
axisTime->setLabelsVisible(true); //设置刻度是否显示
axisTime->setGridLineVisible(false); //设置是否显示网格线
axisTime->setLinePen(QPen(QColor(51, 51, 51, 25),2,Qt::SolidLine));
axisTime->setLabelsFont(font);

chart->addAxis(axisTime,Qt::AlignBottom);
chart->addAxis(axisY,Qt::AlignLeft);
lineseries->attachAxis(axisTime);
lineseries->attachAxis(axisY);
 
QDateTime temp(base_date,base_time);
//toSecsSinceEpoch since 1970.1.1 0:0:0
temp = temp.addSecs(count);
int x= temp.toMSecsSinceEpoch();//这里尤其注意,只能转为毫秒,不能转为为秒,否则出现不显示的情况,
serise_yuzhi->append(x,150);
//serise_yuzhi->append(50,x);
if(((count / 10) % 2) == 1)
{
upperSeries->append(x,100);
}
else
{
upperSeries->append(x,50);
}

posted @ 2022-09-02 17:29  ccc_zdh  阅读(1263)  评论(0)    收藏  举报