资源简介
描述详见博文: http://blog.csdn.net/liukang325/article/details/45483029

代码片段和文件信息
#include “dialog.h“
#include “ui_dialog.h“
int i;
Dialog::Dialog(QWidget *parent) :
QDialog(parent)
ui(new Ui::Dialog)
{
ui->setupUi(this);
tcpSocket = new QTcpSocket(this);
ip = getIP();
map.load(“./icon/1.jpg“);
map = map.scaled(QSize(390330));
ui->label_back->setPixmap(map);
this->setWindowtitle(tr(“私人聊天中...“));
tcpSocket->connectToHost(serverIP8000);
fDialog = new QFileDialog(this);
fDialog->setFileMode(QFileDialog::ExistingFiles);
connect(fDialogSIGNAL(fileSelected ( const QString & ))thisSLOT(fs(const QString & )));
fDialog->hide();
initSocket();
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::fs(const QString & fs){
//选中文件点击open后会出发该信号 至在打开单一文件时出发
qDebug() <<“fs“< files.clear();
files.append(fs);
file.setFileName(files);
if (!file.open(QIODevice::ReadOnly))
return;
QByteArray qq;
qq.append(“|“);
qq.append(ip + “|“);
qq.append(ipRec + “|“);
qq.append(fs);
tcpSocket->write(qq);
}
void Dialog::sendData()
{
if (!file.atEnd()) {
QByteArray line = file.read(8000);
udpSocket->writeDatagram(lineQHostAddress(ipRec)7755);
i++;
qDebug()<< “send over!“<< i << line.size();
if(line.size() <8000){
QByteArray yes;
yes.append(“*^*文件接收完成!“);
tcpSocket->write(yes);
QMessageBox::warning(thistr(“通知“)tr(“发送成功!“)QMessageBox::Yes);
}
}
}
void Dialog::initSocket()
{
udpSocket = new QUdpSocket(this);
udpSocket->bind(QHostAddress::Any 7758);
connect(udpSocket SIGNAL(readyRead()) this SLOT(readPendingDatagrams()));
}
void Dialog::readPendingDatagrams()
{
while (udpSocket->hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
QHostAddress sender;
quint16 senderPort;
udpSocket->readDatagram(datagram.data() datagram.size() &sender &senderPort);
qDebug() << datagram;
if(datagram == “1“){
qDebug() << “send OK!“;
sendData();
}
}
}
void Dialog::on_pushButton_send_clicked() //发送键
{
QByteArray tmp;
tmp.append(“&&“);
tmp.append(ipRec + “&&“);
tmp.append(ui->lineEdit->text() + “&&“);
tmp.append(ip);
tcpSocket->write( tmp );
tcpSocket->flush();
ui->lineEdit->clear();
ui->lineEdit->setFocus();
}
QString Dialog::getIP() //获取ip地址
{
QList list = QNetworkInterface::allAddresses();
foreach (QHostAddress address list){
if(address.protocol() == QAbstractSocket::IPv4Protocol){
if (address.toString().contains(“127.0.“)){
continue;
}
return address.toString();
}
}
return 0;
}
void Dialog::chuanIP(QString ip_recQString server_ip)
{
ipRec = ip_rec;
serverIP = server_ip;
ui->lineEdit_IP->setText(ipRec);
ui->lineEdit_IP->setReadOnly(t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-05-26 14:00 FeiQ_3_lk\
文件 4139 2011-09-24 15:18 FeiQ_3_lk\dialog.cpp
文件 1047 2011-09-24 14:53 FeiQ_3_lk\dialog.h
文件 5063 2011-09-23 20:08 FeiQ_3_lk\dialog.ui
文件 2241 2011-09-24 15:39 FeiQ_3_lk\dialogrec.cpp
文件 704 2011-09-24 13:49 FeiQ_3_lk\dialogrec.h
文件 3611 2011-09-24 14:58 FeiQ_3_lk\dialogrec.ui
文件 4322 2011-09-24 15:18 FeiQ_3_lk\feiq_3.cpp
文件 878 2011-09-23 22:56 FeiQ_3_lk\feiq_3.h
文件 5648 2011-09-23 22:36 FeiQ_3_lk\feiq_3.ui
文件 414 2011-09-23 22:36 FeiQ_3_lk\FeiQ_3_lk.pro
目录 0 2011-09-23 17:09 FeiQ_3_lk\icon\
文件 139646 2011-09-08 14:51 FeiQ_3_lk\icon\0.jpg
文件 25493 2011-03-18 16:42 FeiQ_3_lk\icon\111.jpg
文件 140950 2011-03-18 23:10 FeiQ_3_lk\icon\1112.jpg
文件 41122 2011-03-18 21:51 FeiQ_3_lk\icon\1212.jpg
文件 44823 2011-03-18 21:52 FeiQ_3_lk\icon\1313.jpg
文件 14154 2011-03-18 21:53 FeiQ_3_lk\icon\1414.jpg
文件 73977 2011-03-18 21:55 FeiQ_3_lk\icon\1515.jpg
文件 45732 2011-03-18 21:57 FeiQ_3_lk\icon\1717.jpg
文件 4286 2009-04-19 20:30 FeiQ_3_lk\icon\friend.ico
文件 4286 2010-04-06 17:30 FeiQ_3_lk\icon\friend1.ico
文件 2238 2001-05-12 15:49 FeiQ_3_lk\icon\friend2.ico
文件 9662 2008-12-05 19:43 FeiQ_3_lk\icon\friend3.ico
文件 766 2010-02-22 15:53 FeiQ_3_lk\icon\friend4.ico
文件 323590 2006-05-07 03:59 FeiQ_3_lk\icon\services.ico
文件 397 2011-09-23 22:46 FeiQ_3_lk\main.cpp
目录 0 2015-05-26 14:00 Servers_1\
文件 404 2011-09-21 10:11 Servers_1\main.cpp
文件 3366 2011-09-23 13:06 Servers_1\servers_1.cpp
文件 871 2011-09-21 10:26 Servers_1\servers_1.h
............此处省略2个文件信息
相关资源
- 酒店管理系统基于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 霍夫曼编码 压缩 解压缩
评论
共有 条评论