• 大小: 104KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: Qt  

资源简介

本功能设计实现了局域网聊天系统的群聊以及私聊部分,群聊部分借鉴《Qt及Qt Quick开发实战精解》中的实例,添加了私聊功能,适合初学者学习,博客链接:https://blog.csdn.net/hfuu1504011020/article/details/81907478

资源截图

代码片段和文件信息

#include “chat.h“
#include “ui_chat.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

int Chat::num1 =0;
int Chat ::num2 = 0;
/*Chat::Chat(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::Chat)
    server(nullptr)
    xchat(nullptr)
    is_opend(false)

{
    ui->setupUi(this);
}
*/
Chat::~Chat()
{
    is_opend = false;
    delete ui;
}



Chat::Chat(QString pasvusername QString pasvuserip):
    xpasusername(pasvusername)
    xpasuserip(pasvuserip)
    is_opend(false)
    server(nullptr)
    xchat(nullptr)
    used(false)
    ui(new Ui::Chat)
{
    ui->setupUi(this);
    ui->messageTextEdit->setFocusPolicy(Qt::StrongFocus);
    ui->textBrowser->setFocusPolicy(Qt::NoFocus);

    ui->messageTextEdit->setFocus();
    ui->messageTextEdit->installEventFilter(this);

    a = 0;
   // is_opend = false;

    ui->label->setText(tr(“与%1私聊中 对方的IP:%2“).arg(xpasusername)
                       .arg(xpasuserip));

    xchat = new QUdpSocket(this);
    xport = 45456;

    xchat->bind( QHostAddress(getIp())xport);
    connect(xchatSIGNAL(readyRead())
            thisSLOT(processPendinDatagrams()));

    server = new TcpServer(this);
    connect(server SIGNAL(sendFileName(QString))
            thisSLOT(getFileName(QString)));




}

void Chat::sendMessage(messageType type QString serverAddress)
{
    QByteArray data;
    QDataStream out(&dataQIODevice::WriteOnly);
    QString localHostName = QHostInfo::localHostName();
    QString address = getIp();
    out <    switch (type) {
    case LeftParticipant:

        break;

    case Message:
    {
        used = false;
        if(ui->messageTextEdit->toPlainText() ==““)
        {
            QMessageBox::warning(0tr(“警告“)tr(“发送内容不能为空“)QMessageBox::Ok);
            return ;
        }
        else
        {
            ui->label->setText(tr(“与%1私聊中 对方的IP:%2“).arg(xpasusername)
                               .arg(xpasuserip));
            message = getMessage();
            out << address << message;

           // out << address <            ui->textBrowser->verticalScrollBar()->setValue(ui->textBrowser->verticalScrollBar()->maximum());
        }
        break;
    }
    case FileName:
    {
        QString clientAddresss = xpasuserip;
        out <        break;
    }
    case Refuse:
    {
        out << serverAddress ;
        break;
    }

    default:
        break;
    }
     qDebug() <<“num1:“ << ++num1 << “ipAddress:“ << address<<“\n“<<“文件“<    xchat->writeDatagram(datadata.length()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-21 09:16  chatPrivate\
     文件         861  2009-10-16 18:37  chatPrivate\bold.png
     文件       12285  2018-08-20 16:41  chatPrivate\chat.cpp
     文件        2127  2018-08-20 15:29  chatPrivate\chat.h
     文件        7606  2018-08-18 09:59  chatPrivate\chat.ui
     文件        1291  2018-08-20 17:00  chatPrivate\chatPrivate.pro
     文件       23787  2018-08-21 09:16  chatPrivate\chatPrivate.pro.user
     文件        1028  2009-10-16 18:37  chatPrivate\clear.png
     文件         960  2009-10-16 18:37  chatPrivate\color.png
     文件         304  2018-08-20 16:49  chatPrivate\images.qrc
     文件         992  2009-10-16 18:37  chatPrivate\italic.png
     文件         351  2018-08-20 16:52  chatPrivate\main.cpp
     文件          42  2018-08-21 09:11  chatPrivate\myapp.rc
     文件      161862  2018-08-20 16:48  chatPrivate\myicon.ico
     文件        1172  2009-10-16 18:37  chatPrivate\save.png
     文件         758  2009-09-22 13:43  chatPrivate\send.png
     文件        3720  2018-08-19 18:54  chatPrivate\tcpclient.cpp
     文件        1037  2018-08-19 18:55  chatPrivate\tcpclient.h
     文件        1639  2018-08-15 07:20  chatPrivate\tcpclient.ui
     文件        5060  2018-08-19 19:04  chatPrivate\tcpserver.cpp
     文件        1123  2018-08-18 04:58  chatPrivate\tcpserver.h
     文件        1950  2018-08-15 07:20  chatPrivate\tcpserver.ui
     文件         838  2009-10-16 18:37  chatPrivate\under.png
     文件       14395  2018-08-20 13:11  chatPrivate\widget.cpp
     文件        2035  2018-08-19 13:39  chatPrivate\widget.h
     文件        8840  2018-08-15 00:42  chatPrivate\widget.ui

评论

共有 条评论