Qt实战-聊天界面案例
本项目模仿某平台,实现类似的聊天案例,喜欢的朋友可以在此基础上进行添加功能。
1.原理
使用udp通信接收本地服务器的消息。
ui->setupUi(this);
//初始化操作
udpSocket = new QUdpSocket(this);
//用户名获取
uName =name;
//端口号
this->port =9999;
//绑定端口号 绑定模式 共享地址 断线重连
udpSocket->bind(this->port,QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint);
//发送新用户进入
sndMsg(UsrEnter);
//点击发送按钮发送消息
connect(ui->sendBtn,&QPushButton::clicked,[=](){
sndMsg(Msg);
});
//监听别人发送数据
connect(udpSocket,&QUdpSocket::readyRead,this,&Widget::ReceiveMessage);
//点击关闭退出按钮,实现关闭窗口
connect(ui->exitBtn,&QPushButton::clicked,[=](){
this->close();
});
2.使用QToolButton生成头像列表
//设置头像
QToolButton *btn=new QToolButton(this);
btn->setText(nameList[i]);
QString str =QString(":/imag/%1.jpg").arg(iconNameList.at(i));
btn->setIcon(QPixmap(str));
//设置头像大小
btn->setIconSize(QPixmap(str).size());
3.效果图
需要源代码可以私信我。