代码如下:如何把所有的数据写进文件中? 在BCB中可以利用stream写入,然后pos到0, Qt下有没有类似的办法?
只会用buf,还不能实现大图片(代码有问题不知道如何解决) reader会自动在上一次的后面继续接受写入内容么?
是不是接收一次最大8192,分次该如何完整写入? 刚接触Qt很多不清楚,没找到合适的解决办法,大家帮忙看看。
if(Client->readBufferSize()==8192)
{
QByteArray array=Client->readAll();
QBuffer buffer(&array);
buffer.open( QIODevice::ReadOnly );
QImageReader reader(&buffer, "JPG");
//QImage image=reader.read();
//ui->label->setPixmap( QPixmap::fromImage( image ) );
}
else
{
QByteArray array=Client->readAll();
QBuffer buffer(&array);
buffer.open( QIODevice::ReadOnly );
QImageReader reader(&buffer, "JPG");
QImage image=reader.read();
ui->label->setPixmap( QPixmap::fromImage( image ) );
}
}
------解决思路----------------------
这个 明显是 在使用Qt Network 包时候的 基本问题 接收要 分批次,Qt 是有源代码的,你可以看看 examples 下的例子 就好了。
------解决思路----------------------
你是用的udp还是tcp,如果是udp,那么在writeDatagram方法传输数据时,大小限定在8192个字节。