資源簡介
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個文件信息
評論
共有 條評論