QT项目:网络聊天室

该博客详细介绍了使用QT创建一个网络聊天室的过程,包括服务器端和客户端的实现。服务器端涵盖chatserver.h和chatserver.cpp的代码,以及UI界面设计。客户端部分同样包含chatclient.h和chatclient.cpp的实现,并有相应的UI界面展示。最后,博客展示了项目的执行结果。
摘要由CSDN通过智能技术生成

目录

一·、服务器端实现

 代码:

chatserver.h 

 chatserver.cpp

UI界面:

二、客户端实现

 代码:

chatclient.h

chatclient.cpp

UI界面:

三、执行结果: 


一·、服务器端实现

 代码:

chatserver.h 

#ifndef CHATSERVER_H
#define CHATSERVER_H

#include <QWidget>
#include<QTcpServer>
#include<QTcpSocket>
#include<QList>

QT_BEGIN_NAMESPACE
namespace Ui { class ChatServer; }
QT_END_NAMESPACE

class ChatServer : public QWidget
{
    Q_OBJECT

public:
    ChatServer(QWidget *parent = nullptr);
    ~ChatServer();

private slots:
    void on_startBtn_clicked();

    void on_newConnection_slot();

    void on_readyRead_slot();

    void send(QString mes);   //自定义广播函数

private:
    Ui::ChatServer *ui;
    //定义服务器指针
    QTcpServer *server;
    //定义客户端指针
    QList<QTcpSocket *> socketList;
};
#endif // CHATSERVER_H

 chatserver.cpp

#include "chatserver.h"
#include "ui_chatserver.h"
#include<QMessageBox>

ChatServer::ChatServer(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::ChatServer)
{
    ui->setupUi(this);

    //实例化服务器
    server = new QTcpServer(this);
}

ChatServer::~ChatServer()
{
    delete ui;
}

//启动按钮对应的槽函数
void ChatServer::on_startBtn_clicked()
{
    quint16 port = quint16(ui->portEdit->text().toInt());
    //将服务器设置为监听状态
    server->listen(QHostAddress::Any,port);
    //将相应的控件设置为不可用状态
    ui->portEdit->setEnabled(false);
    ui->sta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值