2017-11-24 20 views
0

데이터를 수집하는 시간에 따라 데이터를 표시하려고합니다. 이를 위해 나는Qt, setRange of QDateTimeAxis로 인해 CPU 사용량이 포화 됨

axisXtime->setRange(QDateTime::fromMSecsSinceEpoch(points.at(0).x()), QDateTime::fromMSecsSinceEpoch(points.at(points.size()-1).x())); 

할 다음 QDateTimeAxis 내 X 축를 업데이트

t = QDateTime::currentDateTime(); 
points.append(QPointF(t.toMSecsSinceEpoch(),myValue)) 

그런 짓을하지만 후자는 포화 될 때까지 진보적 인 CPU 사용량 증가 원인이됩니다. 내가 뭘 잘못하고 있는지 알고 싶습니까?

는 테스트의 많은 후 당신에게

Foufy

+0

나는 왜 내 첫 줄에 내 게시물에 "나는 모두 Qt와 DateTimeAxis에 관한 도움이 필요하다"라고 대답하지 않았습니다. – foufy

+0

Qt에 익숙하지 않지만 점진적인 CPU 사용은 일반적으로 무한 루프입니다 어딘가에. 더 작은 단계를 수행하십시오. 즉, 마지막 행을 가능한 가장 작은 단계로 나누고 행을 확인한 후에 모두 'setRange'에 가져와야합니다. – RolfBly

+0

괜찮습니다. 질문은 멋지고 간결합니다. 다시 편집 할 필요가 없습니다. –

답변

-2

감사 : 없음 솔루션을. 내가 QCustomPlot 더 잘 알고 있기 때문에 나는 후자를 사용하여 내 코드를 변경 한 모든 것이

참조 지금 잘 작동 : http://www.qcustomplot.com/index.php/demos/datedemo exemple 내 경우에 가장 도움이 QCustomPlot의 명령은

mCustomPlot->xAxis->rescale(); 

했다

안녕!

+0

이것은 어쨌든 해결책입니다! 왜 부정 투표입니까?이 사이트를 이해하지 못합니다.) 내 자신의 솔루션을 제안 할 시간이 필요합니다. – foufy

+0

그것은 아닙니다. 귀하의 질문에 대한 해결책 * 다음 사람을 위해 * 귀하의 질문을 검색하고 찾을 수있는 사람 ...;) –