Задать вопрос
@D3Nd3R

Как передать QImage через QTcpSocket поблочно?

Здравствуйте!
Пытаюсь организовать обмен данными между приложением на Qt и приложением на pythone.
Столкнулся со следующей проблемой:
метод read из QBuffer не записывает данные в массив и возвращает -1 соответственно.
void Client::sendQImage(QImage &img)
{
    QByteArray byteArr((char*)img.bits(),img.byteCount());
    QBuffer buffer(&byteArr);
    buffer.open(QIODevice::WriteOnly);
    img.save(&buffer,"PNG");
    qint64 sendSize = buffer.size();
    qint64 actualWrite {1};
    bool tmp = byteArr.isNull();

    tmp = buffer.atEnd();
    //actualWrite = pmSock->write(byteArr,);//work
    char block2send[1024];
    while(actualWrite != -1)
    {
        sendSize = buffer.read(block2send,qint64(1024));
        //sendSize = buffer.read(pmBlockToSend,mBlockSize);
        //actualWrite = pmSock->write(pmBlockToSend,sendSize);
    }

}
  • Вопрос задан
  • 634 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Stepik
    Внутреннее устройство контейнеров в STL (C++)
    2 недели
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы