Как динамически изменять данные QLineSeries? - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь изменить данные в моей переменной экземпляра QLineSeries для QChart, который строит графики в режиме реального времени. Я хочу, чтобы мой QLineSeries взял эти новые данные и отобразил их не только в режиме реального времени, но и все точки, которые я сохранил в streamList.

Class { 

  lineSeries = new QLineSeries();
  Chart * chart = new Chart();

    // chart->legend()->hide();
    chart->addSeries(lineSeries);
    chart->createDefaultAxes();

    this->setChart(chart);

    QDateTimeAxis *axisX = new QDateTimeAxis;
    axisX->setFormat("m:ss");
    axisX->setTickCount(10);
    axisX->setTitleText("Time m:s");
    this->chart()->setAxisX(axisX, lineSeries);

    return(chart);

}


void RecordGraph::changeStream(int selectedStream) {
   lineSeries =  streamList[selectedStream]  
//this is where I want to set the data displayed aka lineSeries

}

это мой класс, где я записываю данные для "потоков", которые я хочу иметь возможность динамически строить. Это работает правильно.

void RecordWidgetGraph::recordMultipleStreams(StreamObject object){ //Will gather data for lineSeries for multiple streams

    if (firstRound){
        for(int i = 0; i < object.streams.count(); i++){

            quint64 hashKey = object.streams.keys().at(i);

            QLineSeries *newLineSeries = new QLineSeries();
            this->streamList.append(newLineSeries);
            streamList[i]->append( object.streams[hashKey].currentTime, object.streams[hashKey].currentBitrate);

        }

        this->firstRound = false;
    } else {
        for(int i = 0; i < object.streams.count(); i++){
            quint64 hashKey = object.streams.keys().at(i);
            streamList[i]->append( object.streams[hashKey].currentTime, object.streams[hashKey].currentBitrate);
        }
    }

}

как перенести данные, хранящиеся в объекте в моем streamList, в lineSeries? Линейные строки правильно отображаются перед вызовом changeStream ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...