PyQt5实现局域网聊天工具

该博客介绍了如何使用PyQt5创建一个局域网聊天工具,具备UDP组聊和TCP文件传输功能。还解决了中文乱码问题,支持界面样式切换,包括暗黑模式,并允许用户为他人设置备注名,保存在磁盘中。文件传输基于TCP,利用Qt的TCP模块实现。
摘要由CSDN通过智能技术生成

**

1.简介

**
1.基本功能
本次设计参考了《Qt5.9 C++开发指南》一书中关于TCP和UDP的介绍及封装的类,也参考了一些其他前辈的代码。
基本的功能:
使用UDP进行组网聊天
使用TCP进行文件传输
能够更改字体,字体大小,粗体,斜体,下划线和字体颜色
能保存聊天记录,清空聊天记录等

2.特别功能
添加功能如下:
修改中文乱码问题
能够实现更改界面样式
支持Enter键发送 消息
能够构建实现备注用户姓名,并在聊天区中进行显示

3 效果
3.1 设置备注的效果
这里借用了Qt中对 代理类 的重写,使其能够满足显示个人图片和设置备注名,并将备注名改到磁盘中保存。下一次登录的时候会自动识别并显示备注名。
在这里插入图片描述
3.2 文件的传输

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

3.2.1实现原理
利用TCP进行文件的传输。在Qt中对TCP、UDP有完整的封装模块,关于模块间的函数及使用方法大家可以参考《Qt5.9 C++开发指南》这本书

3.3 样式切换
3.3.1 暗黑模式
在这里插入图片描述

特点功能:备注名

其实这一块的代码还是比较简单的部分,我其实就是封装了一个类用来对局域网中的用户进行备注筛选,这里将备注信息是直接保存到磁盘里面。显示用户列表的类对它进行事件重写,使其能够显示上下文菜单实现备注的输入

class DataManagement:
    """
    作用:做数据操作类,主要涉及数据的保存,数据的插入,数据的查询,数据的载入
    """
    names = []

    def save_dn(self, nameslist):

        wi
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值