Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Выводить только цифры получивши пакет через QSerialPort



  • Всем здравствуйте
    Постоянно приходит не фиксированный пакет
    60G\r
    120G\r
    20250G\r
    80000G\r
    (впереди пробелы)

    Как всё убрать и оставить только цифры?

    Пакеты шлются в порт 10 пакетов в секунду

    Пробовал что-то по типу

    void MainWindow::readFromPort()
    {
    	qDebug() << "До: " << data;
    	data = serial->readAll();
    
    	qDebug() << "После: " << data;
    	data.remove("       ");
    	data.chop(2);
    
    	if(data == "" || data2 == data)
    	   return;
    
    	data2 = data;
    
    	ui->label->setText(data2);
    
    	data.clear();
    	data2.clear();
    	serial->clear();
    }
    

    Выводить нужно только последний пакет.

    Бывает такое, что приходит здоровенный пакет или значение в виджете постоянно прыгает



  • Я не понял условие. Нужно из всей приходящей информации извлекать только символы от 0 до 9? При чем тут последний пакет?
    Поясните грамотно суть проблемы.


Log in to reply