资源简介
QT聊天,群聊私聊,网络编程,控件,多线程
代码片段和文件信息
//list.cpp对登录用户列表界面类进行 实现
//list.cpp
#include
#include “list.h“
#include
List::List(QString qnameQString strListServer *serv)
{
server = serv;//创建一个套接字
name = qname;
list.setupUi(this);
this->setWindowtitle(name + “ - (在线)“);
//this->setWindowModality(Qt::NonModal);
QStringList qlist=strList.split(“|“);
int i=1;
for(;i list.listView->addItem(qlist[i]);
list.listView2->addItem(qlist[0]);
connect(server->getSocket()SIGNAL(readyRead())thisSLOT(processMessage()));//当有内容被读的时候,发出read()信号
//双击的时候打开聊天窗口
connect(list.listViewSIGNAL(itemDoubleClicked(QListWidgetItem *))thisSLOT(openWin(QListWidgetItem *)));//用户列表
connect(list.listView2SIGNAL(itemClicked(QListWidgetItem *))thisSLOT(openWin(QListWidgetItem *)));
}
void List::openWin(QListWidgetItem *item)
{
Message *m = mlist.value(item->text());
if(m == 0)
{
if(item->text()==“广播“)
{
m = new Message(this name “***“server);
mlist.insert(“***“m);
}
else
{
m=new Message(thisnameitem->text()server);
mlist.insert(item->text()m);
}
}
m->show();
}
void List::processMessage()//在线用户的显示
{
QByteArray data;
server->recvMessage(&data);
QString str(data);
//QMessageBox::warning(this““str);
QStringList qlist = str.split(“|“);
if(qlist[1] == “add“)//添加用户
{
list.listView->addItem(qlist[0]);
}
else if(qlist[1] == “quit“)//删除
{
int i=0;
while(list.listView->item(i) != 0)
{
if(list.listView->item(i)->text() == qlist[0])
{
//QMessageBox::warning(this““list.listView->item(i)->text());
//list.listView->removeItemWidget(list.listView->item(i));
list.listView->takeItem(i);//显示用户
Message *m = mlist.value(qlist[0]);
if(m != 0)
{
m->close();
mlist.remove(qlist[0]);
}
break;
}
i++;
}
}
else
{
Message *m=mlist.value(qlist[0]);
if(m ==0)
{
m=new Message(thisnameqlist[0]server);
QHash::iterator i;
for(i=mlist.begin();i!=mlist.end();i++)
{
if(i.key()!=qlist[0])
{
mlist.insert(qlist[0]m);
}
}
}
m->show();
m->setTxt(qlist[1]);
}
}
void List::on_pushButton_2_clicked()
{
QProcess *process =new QProcess;
process->start(“C:\\Program Files\\TTPlayer\\TTPlayer.exe“);
}
void List::on_notepadButton_clicked()
{
Q
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3327 2010-12-07 23:53 Chat V 2\udpClient\list.cpp
文件 1072 2010-12-07 23:01 Chat V 2\udpClient\list.h
文件 5179 2010-12-07 23:20 Chat V 2\udpClient\list.ui
文件 1743 2010-12-07 20:33 Chat V 2\udpClient\login.cpp
文件 528 2010-12-07 20:16 Chat V 2\udpClient\login.h
文件 5326 2010-12-07 20:32 Chat V 2\udpClient\login.ui
文件 521 2010-03-17 14:33 Chat V 2\udpClient\main.cpp
文件 5974 2010-12-06 12:48 Chat V 2\udpClient\Makefile
文件 8281 2010-12-06 12:48 Chat V 2\udpClient\Makefile.Debug
文件 8443 2010-12-06 12:48 Chat V 2\udpClient\Makefile.Release
文件 3041 2010-12-05 16:03 Chat V 2\udpClient\message.cpp
文件 806 2010-12-05 16:03 Chat V 2\udpClient\message.h
文件 9364 2010-12-07 20:43 Chat V 2\udpClient\message.ui
文件 229 2010-12-05 20:59 Chat V 2\udpClient\ob
文件 251 2010-12-05 20:59 Chat V 2\udpClient\ob
文件 1536 2010-12-07 20:13 Chat V 2\udpClient\server.cpp
文件 694 2010-12-07 20:31 Chat V 2\udpClient\server.h
文件 467 2010-12-05 13:40 Chat V 2\udpClient\udpClient.pro
文件 7960 2010-12-08 00:00 Chat V 2\udpClient\udpClient.pro.user
文件 10667 2010-05-05 09:05 Chat V 2\udpClient\udpClient.pro.user.1.3
文件 6219 2010-12-07 23:20 Chat V 2\udpClient\ui_list.h
文件 5699 2010-12-07 20:33 Chat V 2\udpClient\ui_login.h
文件 9252 2010-12-07 20:43 Chat V 2\udpClient\ui_message.h
文件 2207 2010-03-18 10:30 Chat V 2\udpClient\ui_udpclient.h
文件 481826 2010-12-07 23:53 Chat V 2\udpClient\debug\list.o
文件 451465 2010-12-07 23:20 Chat V 2\udpClient\debug\login.o
文件 202911 2010-12-07 20:33 Chat V 2\udpClient\debug\main.o
文件 5989 2010-12-06 13:17 Chat V 2\udpClient\debug\Makefile
文件 7949 2010-12-06 13:17 Chat V 2\udpClient\debug\Makefile.Debug
文件 8123 2010-12-06 13:17 Chat V 2\udpClient\debug\Makefile.Release
............此处省略121个文件信息
相关资源
- vs2010编译osg3.2.1,带有osgQtd.lib和osgQ
- Armadillo + BLAS & LAPACKQt Creator 编译安装
- qt-eclipse-integration-linux.x86-1.4.0.tar.gz
- QT 4.1.0函数手册.chm
- 基于QT技术实现无线点菜系统源代码
- UFTQTP12.01教程
- QT矩形检测
- Qt_opencv.rar
- Qt报表软件介绍cutereport
- WINDOWS网络编程技术(PDF
- OpenCV2之Qt库
- 支持Qt编译的mupdf动态库
- QT小车上位机程序
- STM32F4x7+freertos+lwip+ssl+MQTT完整代码
- QT5.4版本Windows安装包
- vs2017编译发布期货策略程序化自动交
- vs2015+qt5.8.0 NTP协议的实现源码
- linux下qt打包工具linuxdeployqt
- Qt调用WebService
-
基于Qt封装minibl
ink库-支持mingw和vc - 基于QT5实现一个简单好用的串口助手
- Qt Designer 2019-09-27.dmg
- QT使用excel
- 基于QGraphicsView实现的画图软件
- 简单的多屏播放器VLC+Qt
- Qt及QtQuick开发实战精解高清PDF
- Unix网络编程高清非扫描版PDF英文
- qtcreator-gdb-7.4-MINGW32_NT-6.1-i686.tar
- QT5中使用QHttpQFtp.rar
- PlistDecoder
评论
共有 条评论