前提:实现UDP通信
发送方代码
void Widget::on_pushButton_clicked()//发送方的代码
{
QPixmap image("D:/splash.png");//定义要发送的图片
QBuffer buffer;//借助QBuffer保存图片数据
buffer.open(QIODevice::ReadWrite);
image.save(&buffer,"jpg");
QByteArray dataArray;
dataArray.append(buffer.data());//将QBuffer中的数据复制给QByteArray,方便之后发送
int n= sender>writeDatagram(dataArray.data(),dataArray.length(),QHostAddress("192.168.0.28"),port); //udp发送数据
}
接收方代码
while(receiver->hasPendingDatagrams())//接收方的槽函数内容
{
QByteArray data; data.clear();//准备接收容器
data.resize(receiver->pendingDatagramSize());//指定容器大小
receiver->readDatagram(data.data(),data.size()) ;//将数据赋值给容器
QBuffer buffer(&data);//借助QBuffer进行数据转换
buffer.open(QIODevice::ReadOnly);
QImageReader reader(&buffer,"jpg");//借助QImageReader类将数据转换成图片
QImage img=reader.read();
if(!img.isNull())
ui->label->setPixmap(QPixmap::fromImage(img));
}