Qt实现的聊天画面消息气泡

Qt实现的聊天画面消息气泡

采用基于QWidget+Mingw实现的原生的消息气泡
通过覆写QWidget::paintEvent(QPaintEvent *event)方法,每当窗口尺寸变化时都会触发paintEvent事件,在覆写QWidget::paintEvent(QPaintEvent *event)方法中重新绘制聊天气泡在QListWidget添加QListWidgetItem项目实现聊天气泡,可以实现气泡跟随窗口尺寸变化而动态的使气泡的宽高。

Qt相关系列文章:
一、Qt实现的聊天画面消息气泡
二、基于QTreeWidget实现多级组织结构
三、基于QTreeWidget实现带Checkbox的多级组织结构选择树

代码已上传到【https://gitee.com/duyanjun/bubbleChat.git】

目录

  • Qt实现的聊天画面消息气泡
  • 一、气泡效果图
  • 二、运行
    • 1、从git导入
    • 2、修改头像路径
    • 3、运行

一、气泡效果图

在这里插入图片描述
在这里插入图片描述

二、运行

1、从git导入

文件 -> 新建文件或项目 -> Import Project -> Git Clone

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、修改头像路径

  • 由于是Demo,所以将工程目录下的imgs目录的路径替换为自己当前项目的实际路径,例如本例中的路径为D:\work\Qt\workspace\bubbleChat\imgs
  • 根据下图所示替换这两处即可

在这里插入图片描述
在这里插入图片描述

3、运行

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交网络分析5:社交网络信息传播动力学。信息传播 、传染病模型、博弈模型和物理系统模型 、传播动力学分析 、 未来发展趋势与展望

社交网络分析5: 写在最前面信息传播动力学研究概述信息传播信息接收信息发布信息反馈信息传播的预测与控制 信息传播动力学研究的目标 社交网络信息传播模型传播模型的基本要素传播模型的数学表达传染病模型博弈模型物理系统模型 提出新的物理学模型三类模型的比较提…

ESP32 连接阿里云 MQTT 报错MQTT Connect err:2

解决方法 跳转到 这个头文件<PubSubClient.h>里 MQTT_MAX_PACKET_SIZE 把这个的大小从原来的256 改为1024 MQTT_KEEPALIVE 把这个大小从原来的15 改为65 修改后再次连接即可成功 如下图&#xff1a;

字体包引入以及使用

将UI给的字体包下载到assets文件夹下 app.vue全局定义 <style> * {margin: 0;padding: 0; }font-face {font-family: PangMenZhengDao-3;src: url(/assets/fonts/庞门正道标题体3.0.TTF) format(truetype);font-weight: bold;font-style: normal; } </style>页面使…

python如何发送企业微信群消息

一、创建机器人&#xff0c;并获取webhook 1.1 进入企业微信中&#xff0c;添加群机器人&#xff0c;添加完成后可以获取到一个webhook的地址 1.2 群机器人企业微信接口的调用可以参考这个文件 https://developer.work.weixin.qq.com/document/path/99110#%E5%A6%82%E4%BD%…

【图神经网络 · 科研思考4】动态图数据集相关 wikipedia.csv;跨域节点表示学习;跨域自监督;动态时空图跨域;无监督领域适应方法?

这是2023年11月份的部分科研思考(四),主体内容围绕【图神经网络】展开,科研疑问解答 & 科研基础概念了解 & 科研方向,仅学习使用。 🎯作者主页: 追光者♂🔥 🌸个人简介: 📝[1] CSDN 博客专家📝 🏆[2] 人工智能领域优质创作者🏆 �…

JS对象深度合并封装方法源码。

导入的方法看上一篇文章。 import deepClone from "./deepClone"; // JS对象深度合并 function deepMerge(target {}, source {}) { target deepClone(target); if (typeof target ! object || typeof source ! object) return false; for (var pro…

Vue3知识点总结

目录 一.创建Vue2工程 1.使用 vue-cli 创建 2.使用 vite 创建 二.常用 Composition API setup ref函数 reactive函数 计算属性与监视 1.computed函数 2.watch函数 3.watchEffect函数 一.创建Vue2工程 1.使用 vue-cli 创建 查看vue/cli版本&#xff0c;确保vue/cli版本…

QT自带打包问题:无法定位程序输入点?metaobject@qsound

文章目录 无法定位程序输入点?metaobjectqsound……检查系统环境变量的配置&#xff1a;打包无须安装qt的文件 无法定位程序输入点?metaobjectqsound…… 在执行release打包程序后&#xff0c;相应的release文件夹下的exe文件&#xff0c;无法打开 如有错误欢迎指出 检查系…

合并 K 个排序链表——Java解答

题目&#xff1a;合并 K 个排序链表 题目描述&#xff1a; 给你一个链表数组&#xff0c;每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例&#xff1a; 假设有以下三个链表&#xff1a; 1->4->5, 1->3->4,…

AIGC实战——条件生成对抗网络(Conditional Generative Adversarial Net, CGAN)

AIGC实战——条件生成对抗网络 0. 前言1. CGAN架构2. 模型训练3. CGAN 分析小结系列链接 0. 前言 我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是&#xff0c;我们无法控制想要生成的图像类型&#xff0c;例如控…

如何使用JavaScript 将数据网格绑定到 GraphQL 服务

前言 作为一名前端开发人员&#xff0c;GraphQL对于我们来说是令人难以置信的好用。它可以用来简化数据访问&#xff0c;这让我们的工作变得更加容易。 什么是 GraphQL&#xff1f;它是一个抽象层&#xff0c;位于任意数量的数据源之上&#xff0c;并为您提供一个简单的 API …

日期计算 C语言xdoj68

问题描述 给定一个年份y和一个整数d&#xff0c;问这一年的第d天是几月几日&#xff1f; 注意闰年的2月有29天&#xff0c;且满足下面条件之一的是闰年&#xff1a; 1&#xff09; 年份是4的整数倍&#xff0c;而且不是100的整数倍&#xff1b; 2&#xff09; 年份是…

激光雷达LIDAR

1. 历史 公元前440年&#xff0c;古希腊哲学家、预言家、科学家、江湖术士恩培多克勒提出月亮是由反射发光&#xff1b;提出光有速度。1638年&#xff0c;伽利略提着一盏灯站在山头上&#xff0c;默默的把灯盖了起来… 远处的另一个山头上&#xff0c;他的助手在看到灯灭的一瞬…

传统FC存储向NoF发展进化

全闪存时代背景下&#xff0c;传统的FC&#xff08;Fibre Channel&#xff0c;网状通道&#xff09;存储网络已经无法满足全闪存数据中心的要求&#xff0c;NVMe&#xff08;Non-Volatile Memory express&#xff0c;非易失性内存主机控制器接口规范&#xff09;存储协议的出现…

现网问题处理策略

收到问题时需要确认的问题 哪个局点 识别局点重要性使用哪些业务开启的特性数据量大小 哪个版本 找到我们产品的版本以及上游组件/底座版本 谁找来的 一线同事。一线直接面对客户&#xff0c;压力会比较大&#xff0c;需要严肃对待。下游业务同事。压力相对会较小。 最近…

12.18拓扑排序,DAG,模板,课程安排

拓扑排序 有向无环图一定是拓扑序列,有向有环图一定不是拓扑序列。 无向图没有拓扑序列。 首先我们先来解释一下什么是有向无环图&#xff1a; 有向就是我们两个结点之间的边是有方向的&#xff0c;无环的意思就是整个序列中没有几个结点通过边形成一个圆环。 下图就是一个…

【web安全】万能密码总结

前言 菜某的总结&#xff0c;欢迎提意见补充~ 万能密码的原理 万能密码实际上也算是sql注入的一种。 登录界面是一个与数据库交互的位置&#xff0c;很容易产生sql注入的位置。 我们登录时输入的数据会带入数据库查询进行比对&#xff0c;当用户名与用户的密码对的上的话&…

个人版 AI 辅助系统的尝试

在 CSDN 的时候&#xff0c;我就一直想要有自己的 AI 工作环境。我们组只有一台高配的办公服务器&#xff0c;用于训练模型&#xff0c;分析数据。通常来说这台机器都很忙。如果想要 做一些研究工作或试验&#xff0c;资源就有点紧张了。而我自己的工作机&#xff0c;虽然是一台…

基于Vue的汽车服务商城系统设计与实现论文

摘 要 本课题是根据用户的需要以及网络的优势建立的一个基于Vue的汽车服务商城系统&#xff0c;来更好的为用户提供服务。 本基于Vue的汽车服务商城系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于SSMVue框架开发。在网站的整个开发过程中&#xff0c;首先对…

clipboard.js实现复制和粘贴

// 复制文本到剪贴板 function copyToClipboard(text) {navigator.clipboard.writeText(text).then(() > {console.log(Text copied to clipboard);}).catch((error) > {console.error(Failed to copy text:, error);}); }// 从剪贴板粘贴文本 function pasteFromClipboa…