• 大小: 80KB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 数据库
  • 标签: QTcpSocket  

资源简介

这是一个QT的socke及时通信代码,里面有数据库(MYSQL)文件,和服务端,客户端,等,客户端外边像一个QQ,客户端实现了,多客户端群聊,添加好友,添加分组,一对一聊天,服务端采用异步通信。

资源截图

代码片段和文件信息

#include “changenickname.h“


ChangeNickName::ChangeNickName(QString accountint CLIENT_CHANGE_NICKNAME
QTcpSocket *qtcpSocket QWidget *parent) :QDialog(parent)
 qtcpSocket(qtcpSocket) CLIENT_CHANGE_NICKNAME(CLIENT_CHANGE_NICKNAME) account(account)

setupUi(this);
connect(chengeNickNameButton SIGNAL(clicked()) this SLOT(changeNickName()));
}
void ChangeNickName::changeNickName(){
if (chengeNickNameLineEdit->text().isEmpty())
{
QMessageBox::information(this QString::fromLocal8Bit(“提示“) QString::fromLocal8Bit(“昵称不能为空!“));
return;
}
QJsonobject json;
json.insert(“nickName“ chengeNickNameLineEdit->text()); 
json.insert(“account“ account);
QJsonDocument document;
document.setobject(json);
QByteArray byte_array = document.toJson(QJsonDocument::Compact);
QString json_str(byte_array);

QByteArray block;
QDataStream out(&block QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
//! [4] //! [6]
out << (quint16)(4 + json_str.length());
out << CLIENT_CHANGE_NICKNAME;
out << json_str;
out.device()->seek(0);
qtcpSocket->write(block);
qtcpSocket->flush();
}
void ChangeNickName::closeEvent(QCloseEvent *event){
this->hide();
}
ChangeNickName::~ChangeNickName()
{
}

评论

共有 条评论

相关资源