QT Windows GUI main window freezes while running
-
@Ravi0101 said in QT Windows GUI main window freezes while running:
could this be issue with the while loop in my code please?
Yes, it can. That is why I also suggested to add some debug output.
Please add a qDebug() output just after the loop and see whether you ever see it. If you don't then you have an endless loop. -
@jsulm please find below.
void MainWindow::plotData(QByteArray data)
{
auto count = data.size();
qDebug() << "bytearray size 1: " << count;
data.remove(0,1);
count = data.size();
qDebug() << "bytearray size 2: " << count;qDebug() << data; qDebug() << data.size(); int pos = 0, arrsize = data.size(), sizeInArray = 3; QList<QByteArray> arrays;
std::vector<uint32_t> hrm;
// std::vector<double> hrm_final;
// uint32_t old_hrm = 0;
while(pos<arrsize){
QByteArray arr = data.mid(pos, sizeInArray);
qDebug() << arr;
uint32_t hrm = (arr[0] << 16) | (arr[1] << 8) | (arr[2]);
qDebug() << QString::number(hrm);
// if(arrsize!=0){
pos+=arr.size();//plot with hrm diffference
// if(pos == 0)
// {
// old_hrm = hrm;
// continue;
// }
//else
// {
this->plotData_Y.removeFirst();//**plot with python code reference** //double hrm_final =(hrm / qPow(2,31)) * 10; //this->plotData_Y.append(hrm_final); // qDebug() << QString::number(hrm_final); //**plot with hrm difference** // this->plotData_Y.append(old_hrm-hrm); // qDebug() << QString::number(old_hrm-hrm); //**plot with original hrm** this->plotData_Y.append(hrm); ui->plot->graph(0)->setData(this->plotData_X, this->plotData_Y); // set axes ranges, so we see all data: ui->plot->replot(); } qDebug() << "not an endless loop"; }
//}