聊天程序:
QT实现的界面
网络的数据通信
服务器端:
建立用户UI
建立服务器socket
接受客户连接
为每个各户建立线程处理客户数据
设计界面
QMainWindow 增加:菜单,工具条,状态条
菜单:
QMenuBar
addMenu
QMenu
addAction
QMenuItem/QAction
构造器
菜单的响应
状态条
QStatusBar
chatServer
charServer.cpp
#include<QApplication>
#include “ServerWindow.h”
#include<QTextCodec>
int main(int args , char ** argv)
{
QApplication app(args , argv);
QTextCodec * codec=QTextCodec::codecForName(“utf-8”);
QTextCodec::setCodecForTr(codec);
ServerWindow sw;
return app.exec();
}
charServer.pro
TEMPLATE=app
SOURCES=charServer.cpp \
ServerWindow.cpp \
chatException.cpp \
ServerSocket.cpp \
ThAccept.cpp \
ThClient.cpp
HEADERS=ServerWindow.h chatException.hServerSocket.h ThAccept.h ThClient.h
CONFIG=release qt
QT=core gui
TARGET=charServer
ServerWindow.h
#ifndef SERVER_WINDOW_H
#define SERVER_WINDOOW_H
#include<QMainWindow>
#include<QWidget>
#include<QTextEdit>
#include<QMenuBar>
#include<QMenu>
#include<QAction>
#include<QStatusBar>
#include<QLabel>
#include “ThAccept.h”
#include<list>
#include “ThClient.h”
using namespace std;
class ServerWindow :public QMainWindow
{
Q_OBJECT
public:
static list<ThClient*>allusers;
private:
QTextEdit *info;
//菜单
QMenuBar * bar;
QMenu *mnuserver;
QAction *actstart;
QAction *actexit;
//状态条
QStatusBar *status;
QLabel *lbltip;
QLabel *lblresult;
QLabel *lbltim;
//接收线程
ThAccept thaccept;
public:
ServerWindow(QWidget *p=NULL);
public slots:
void onStart(); //菜单点击的槽函数
};
#endif
ServerWindow.cpp
#include “ServerWindow.h”
#include<QColor>
#include<QMessageBox>
#include “ChatException”
list<ThCli
QT实现的聊天服务器端编程

这个博客介绍了如何使用QT库来创建一个聊天程序的服务器端。内容包括:建立用户UI,设置菜单和状态条,建立服务器socket,接受客户连接,并为每个客户端创建线程进行数据处理。此外,还展示了如何设计界面,如使用QMainWindow,QTextEdit,QMenuBar等组件,以及如何处理菜单响应和状态条显示。代码示例展示了如何初始化服务器,启动接收线程,以及处理客户端连接和数据通信。
最低0.47元/天 解锁文章
411

被折叠的 条评论
为什么被折叠?



