Qt实战-聊天界面案例

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.效果图
在这里插入图片描述
需要源代码可以私信我。

猜你喜欢

转载自blog.csdn.net/weixin_39735688/article/details/127646253