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实战-聊天界面案例 的相关文章

  • Qt 的最佳实践包括和预编译头文件?

    当使用现代和最新的 C 编译器 例如 MSVC2015 并激活预编译头时 当前关于包含 Qt 头文件的 最佳实践 是什么 Example include
  • QWebView / Qt WebKit 不会打开某些 SSL 页面;不允许重定向?

    在带有 Visual C 2008 SP1 的 Windows 7 上全新安装 Qt SDK 1 1 4 我正在使用 Qt Creator 为什么此代码无法加载某些网页 include
  • Qt Creator 中的按钮是否有隐藏属性?

    Qt Creator 属性托盘中是否有按钮的隐藏属性 我想找到一个 但找不到 我需要禁用一些按钮并隐藏一些按钮 我应该使用属性托盘还是在构造函数中进行 稍后在用户事件中 它们将被启用并显示 有些控件在调色板上具有 可见性 属性 有些则没有
  • 使用 Qt 在 xoverlay 之上绘制

    我希望在使用 Xoverlay 渲染的视频流之上绘制一些 UI 我正在使用 gstreamer 播放视频并使用 xoverlay 在 xvimagesink 上渲染它 我的小部件继承自 QGLWidget 我希望使用 QPainter 绘制
  • 无法将 QMap 传递到 SLOT

    所以 这有效 h public slots void addMenu QString passedName signals void clicked const QString text cpp signalMapper new QSign
  • QT“找不到 Qt 平台插件“xcb””

    我出于学术原因安装了QT everywhere 5 15开源版 但无法运行程序 首先 我编译了必要的源文件make并安装了QT Creator 然后我选择qmake来运行其中的程序 当我尝试运行示例程序时 遇到以下错误 qt qpa plu
  • 在 Qt C++ 中使用多个键

    我正在构建 坦克 游戏 我使用关键事件在地图上运行我的坦克 实际上我当时只能使用一把钥匙 但我需要有能力去完成任务 同时向上和离开 这是我的单键事件代码 switch event gt key case Qt Key Up if ui gt
  • Qt 远程文件浏览器

    我想知道是否有人使用过 Qt 远程文件浏览器 根据我的理解 我有两个选择 当涉及到远程文件时 将 QFileDilaog 与自定义代理模型结合使用 该模型将负责提供远程文件 目录结构 使用自定义对话框 并为本地文件提供标准文件系统模型 为远
  • 如何在Qt中设置编译器?

    我对 Qt 完全陌生 我下载了离线版本 Qt 5 3 2 for Windows 64 bit VS 2013 OpenGL 573 MB 我无法编译我的项目 I have Qt Creator 3 2 1 开源 基于Qt 5 3 2 MS
  • Qt + win32 + mingw 上的原生 Windows API 链接问题

    我正在尝试使用 mingw 工具集将本机 Windows API 与 Qt 结合使用 部分功能存在链接问题 会发生什么 这是 mingw 名称修改的错误吗 ifdef Q WS WIN HWND hwnd QWidget winId HDC
  • 对齐坐标系

    Let s say I have 2 coordinate systems as it is shown in image attached 如何对齐这个坐标系 我知道我需要将第二个坐标系围绕 X 平移 180 度 然后将其平移到第一个坐标
  • 调整 QML 图像显示尺寸

    我有一个带有嵌套的 QML 窗口RowLayout 在内排我有两个图像 来源 png这些图像的文件 故意 相当大 当我尝试设置height这些图像上的属性使它们变小 但它们仍然被画得很大 Desired Appearance Actual
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • QLineEdit:显示处理后的文本,而不是输入的文本,但保留它(自定义回显模式)

    我想要一个QLineEdit不显示输入的文本 而是显示经过处理的版本 同时保留原始文本并在通过请求时返回它text 就像密码回显模式一样 但我不希望每个字符都被屏蔽 我想虚拟化空间 例如什么时候some text with spaces i
  • MAC 上的 QT/C++ - 未设置应用程序图标

    我正在努力解决的奇怪问题 在与我的 pro QT 项目文件相同的文件夹中 我有一个 Resources myIcon png 我试图将其设置为我构建的应用程序的图标 在 OSX 上运行 我阅读了文档 它建议在 pro 文件中添加 ICON
  • 仅将非模态 QDialog 窗口放置在我的应用程序顶部,而不是所有应用程序顶部

    我有一个 QDialog 窗口 它应该始终位于我的应用程序顶部 它不是模态的 用户可以随时与对话框和主应用程序进行交互 使用窗口保持在顶部提示在某种程度上实现了这一点 但是 该对话框仍然位于所有其他正在运行的应用程序 例如记事本 chrom
  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • 如何在 Qt-Embedded 中(正确)输出多语言文本?

    我的目标系统是 linux 3 3 7 Qt Embedded 开源版 4 8 Droid 字体 取自 fonts droid 20111207 git 1 all deb Debian 软件包并复制到 usr lib fonts目录 主要
  • 程序意外完成 - QT Creator

    我正在尝试使用 QT Creator 使用 QT 框架开发 GUI 控制台应用程序 我使用的是Windows XP 我安装了QT 4 8 3和mingw 两者均已安装 没有任何错误 然后我安装了QT Creator QT 版本 路径中的 Q
  • QDesktopServices::openUrl 在资源管理器中选择指定文件

    在大多数编码程序中 您可以右键单击该项目 然后单击 在资源管理器中显示 它会在资源管理器中显示选定项目的文件 在 Qt 中使用 QDesktopServices 如何做到这一点 或在 QT 中执行此操作的任何方式 您可以使用此方法在 Win

随机推荐

  • 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