• 大小: 14.34MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-01
  • 语言: 其他
  • 标签: QT  网络编程  

资源简介

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\object_script.udpClient.Debug

     文件        251  2010-12-05 20:59  Chat V 2\udpClient\object_script.udpClient.Release

     文件       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个文件信息

评论

共有 条评论