Qt实战-聊天界面案例

2023-11-18

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt实战-聊天界面案例 的相关文章

随机推荐

  • java 搭建企业应用框架_揭秘Java帝国的全能家族——Spring的成王之路

    很久很久以前 古老的 Java 编程帝国里降生了一个孩子 名为 Spring 它是 Java 帝国最小的王子 同时也是 Java 帝国期待已久的孩子 它还有三个哥哥 分别是大哥 JSF 二哥 Struts 和三哥 Hibernate 它们一
  • 拒绝摆烂!C语言练习打卡第一天

    博客主页 小王又困了 系列专栏 每日一练 人之为学 不日近则日退 感谢大家点赞 收藏 评论 前言 在前面我们学习完C语言的所以知识 当然练习巩固也不能落下 俗话说 无财之谓贫 学而不能行之谓病 可见实践对我们学习的重要 接下来就让小王带着大
  • Istio的架构概述

    Istio的架构概述 Istio的工作机制 首先整个Istio的工作机制和架构主要分为控制面和数据面两个部分 控制面包括Pilot Mixer Citadel等服务组件 数据面则是由应用程序部署的代理程序Envoy组成 大概表述一下全体流程
  • 企业技术/数据架构想法---逻辑图模型

    author skate time 2013 10 12 在做数据库设计时 往往把数据仓库设计和在线交易库分开考虑 但是如果站在企业级别就要统一考虑 这样在设计时就会规避好多问题 在技术 数据架构设计时 可以控制全局的复杂性 可重用性 可扩
  • 记录docker部署mysql后mysql启动失败,报错【Please...the manual to find out how to run mysqld as root】的解决方法

    现象 以docker形式创建mysql容器 启动容器后mysql运行失败 查看日志报错 Please read Security section of the manual to find out how to run mysqld as
  • LocationAwareException: A problem occurred configuring root project

    上星期项目还没事 这周一打开项目就报Read timeOut Caused by org gradle internal exceptions LocationAwareException A problem occurred config
  • 枚举类的value方法

    枚举类的value 方法可以将枚举类转变为一个枚举类型的数组 是由编译器添加的 官网 如图
  • 【Logback】<logger>、<root>标签详解

    文章目录 背景 一
  • linux自学群565589971欢迎加入

    作为一个linux爱好者 从自学一步步走上linux运维的工作岗位 对这个行业深深的热爱 也知道自学的不易 学习过程中也走了不少弯路 我现在在一家网络公司任职运维高级经理 也算积累一定的linux实战经验 所以我打算建一个自学群 跟想要学习
  • 近期遇到的两个SQL盲注与云盾绕过的一个小tips

    文章目录 前言 一 数字型盲注 二 order by注入 前言 最近在测试过程中遇到两个SQL注入 一个是数字型的盲注 一个是order by盲注 云盾绕过 一 数字型盲注 凭借印象 搭了个环境 大概长这样 前面170会拼接到查询语句 后面
  • 从zygote到onCreate应用启动过程分析

    在之前的文章讲了app进程大概的启动过程 https blog csdn net qq 36063677 article details 125638137 这篇文章细致的分析一下app进程从zygote进程fork出来到onCreate等
  • java和电脑编程_计算机初学者学习编程语言C#和Java哪个更有前途?

    如果同时接触到Java和C 这两门语言 确实是会容易让人纠结 毕竟目前这两门语言都是世界使用人数排名前五的语言 要说哪个更有前途 真的很难判定 因此 个人认为是有必要分析一下两门语言的一些特点和应用领域 语法 在语法上 如果是接触过Java
  • Function Score 多个function java写法

    背景 我们在使用 ES 查询的时候 除了 bool 查询 还会经常用到 function score 查询 简单来说 function score 就是对打分结果进行算法重排 鉴于网上基本上都是DSL写法 我找了好久没有找到JAVA应该怎么
  • 新版sonar代码审查问题总结

    主要问题列表 格式 问题名字 问题出现的次数 Resources should be closed2 资源未关闭 打开发现有两处用到的IO流没有关闭 Conditions should not unconditionally evaluat
  • 选择单选‘固定时间’,那么单选灵活时间输入框被禁用

    预计效果 1 disable isSee radio flexible 不能编辑 选择另一个单选的单选框 短路或 一边为真即为真 2 method方法 如果e 固定时间 那么 灵活时间输入框为空 相反 如果e 灵活时间 那么 固定时间输入框
  • 【3D点云】分割算法总结(一)

    文章目录 前言 Related work 一 PointNet 分类 分割2018 1 关键代码 1 点云采样 2 卷积下采样 升维 3 上采样 self fp4 l3 xyz l4 xyz l3 points l4 points 二 MV
  • Android 蓝牙开发基本流程

    http blog csdn net q610098308 article details 45248423 此例子基于 Android demo 对于一般的软件开发人员来说 蓝牙是很少用到的 尤其是Android的蓝牙开发 国内的例子很少
  • Mysql 报错注入方式总结

    floor 注入语句 id 1 and select 1 from select count concat user floor rand 0 2 x from information schema tables group by x a
  • 解密aes加密的m3u8片段的方法

    现在一些m3u8是有aes加密的 解密方法也简单 只要找到m3u8指定的密码文件就行了 一般都在 EXT X KEY METHOD AES 128 URI xxx 这里 下面的代码显示了在下载ts片段和密码文件后如何解密 假设已下载的m3u
  • Qt实战-聊天界面案例

    Qt实战 聊天界面案例 本项目模仿某平台 实现类似的聊天案例 喜欢的朋友可以在此基础上进行添加功能 1 原理 使用udp通信接收本地服务器的消息 ui gt setupUi this 初始化操作 udpSocket new QUdpSock