-
大小: 2.74MB文件类型: .rar金币: 2下载: 0 次发布日期: 2023-08-16
- 语言: 其他
- 标签: Qt QImage QImageReader QImageWriter
资源简介
Qt用Tcp 和Udp 传图片的例子,对于没做过这方面编程的朋友肯定很有帮助

代码片段和文件信息
/*
* Copyright (c) 2006-2007 Johan Thelin
*
* All rights reserved.
*
* Redistribution and use in source and binary forms with or without modification
* are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of APress nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* “AS IS“ AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT
* LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL
* EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE DATA OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include
#include
#include
#include “clientdialog.h“
ClientDialog::ClientDialog() : QDialog()
{
ui.setupUi( this );
connect( ui.getButton SIGNAL(clicked()) this SLOT(getClicked()) );
connect( &socket SIGNAL(error(QAbstractSocket::SocketError)) this SLOT(tcpError(QAbstractSocket::SocketError)) );
connect( &socket SIGNAL(readyRead()) this SLOT(tcpReady()) );
}
void ClientDialog::getClicked()
{
ui.getButton->setEnabled( false );
ui.imageLabel->setPixmap( QPixmap() );
ui.imageLabel->setText( tr(“Getting image...“) );
dataSize = 0;
socket.abort();
socket.connectToHost( ui.serverEdit->text() 9876 );
}
void ClientDialog::tcpReady()
{
if( dataSize == 0 )
{
QDataStream stream( &socket );
stream.setVersion( QDataStream::Qt_4_0 );
if( socket.bytesAvailable() < sizeof(quint32) )
return;
stream >> dataSize;
}
if( dataSize > socket.bytesAvailable() )
return;
QByteArray array = socket.read( dataSize );
QBuffer buffer(&array);
buffer.open( QIODevice::ReadOnly );
QImageReader reader(&buffer “PNG“);
QImage image = reader.read();
if( !image.isNull() )
{
ui.imageLabel->setPixmap( QPixmap::fromImage( image ) );
ui.imageLabel->setText( tr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1898 2007-08-04 17:35 udpserver\main.cpp
文件 2682 2007-08-04 17:35 udpserver\sender.cpp
文件 1933 2007-08-04 17:35 udpserver\sender.h
文件 384731 2007-03-16 21:14 udpserver\test.png
文件 377 2007-03-16 21:00 udpserver\udpserver.pro
文件 3479 2007-08-04 17:35 tcpclient\clientdialog.cpp
文件 2089 2007-08-04 17:35 tcpclient\clientdialog.h
文件 4283 2007-08-04 17:33 tcpclient\clientdialog.ui
文件 762136 2010-04-13 16:37 tcpclient\debug\clientdialog.o
文件 723045 2010-04-13 16:37 tcpclient\debug\main.o
文件 2433 2010-04-13 16:37 tcpclient\debug\moc_clientdialog.cpp
文件 734581 2010-04-13 16:37 tcpclient\debug\moc_clientdialog.o
文件 1413139 2010-04-13 16:37 tcpclient\debug\tcpclient.exe
文件 1837 2007-08-04 17:34 tcpclient\main.cpp
文件 6259 2010-04-13 16:37 tcpclient\Makefile
文件 6063 2010-04-13 16:37 tcpclient\Makefile.Debug
文件 6137 2010-04-13 16:37 tcpclient\Makefile.Release
文件 414 2007-02-01 16:14 tcpclient\tcpclient.pro
文件 10346 2010-04-13 16:47 tcpclient\tcpclient.pro.user
文件 6451 2010-04-13 16:37 tcpclient\ui_clientdialog.h
文件 298820 2007-02-01 17:46 tcpserver\debug\images\test-green.png
文件 327442 2007-01-17 17:31 tcpserver\debug\images\test.png
..A.SH. 9216 2010-04-13 16:37 tcpserver\debug\images\Thumbs.db
文件 339868 2010-04-13 16:37 tcpserver\debug\main.o
文件 424824 2010-04-13 16:37 tcpserver\debug\server.o
文件 498358 2010-04-13 16:37 tcpserver\debug\serverthread.o
文件 693560 2010-04-13 16:37 tcpserver\debug\tcpserver.exe
文件 298820 2007-02-01 17:46 tcpserver\images\test-green.png
文件 327442 2007-01-17 17:31 tcpserver\images\test.png
..A.SH. 310272 2010-04-13 16:50 tcpserver\images\Thumbs.db
............此处省略27个文件信息
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
- QT5.5入门与项目实战
- Huffman Compress 霍夫曼编码 压缩 解压缩
评论
共有 条评论