注:文件使用相对路径格式一定要使用“/”,如果使用的是“\”则,在windows下路径没有问题,但是提交到gitee上图片路径就对不上了,所以还是要使用"/"作为路径的分割符号,这样才能通用
Vs+qt 使用c++开发仿照微信的聊天
关于页面ui设计的总体思路,及各个模块设计之后再总结吧。
无需安装,目前程序发行是采用解压的版本
bug3:创建群聊的用户,在右方点击群组时候,群组列表中含有刚刚创建的群,但是其他群组成员中群组列表中并没有显示刚刚创建的群,更为奇怪的是创建群组的用户,消息列表中没有相应的会话,但是其他用户含有相应的会话
未出现群组信息
消息列表中未出现相应的会话
现在请求远端图片和文件都是直接请求远端,这样会造成资源的浪费,之后会改成任务队列的请求远端文件,这样全局共用一个,来请求不过需要增加相应的队列及锁,这里是初步想法
用户id -> 用户id.png
例如:userid = 100001 (用户id一般为6位数字)那么对应远端的用户头像为 100001.png
利用http请求上传头像和修改头像的时候,只要知道用户id,就能找到此用户id对应的头像
考虑到群id和用户的id是会重复的。所以必须加强群的头像和玩家头像的区分,以便之后访问到正确的用户头像和群的头像
用户id -> u+用户id.png
例如:userid = 100001 (用户id一般为6位数字)那么对应远端的用户头像为:u100001.png
群id -> g+群id.png
例如:groupid = 100001 (群id一般为6位数字)那么对应远端的该群头像为:g100001.png
在函数
void QPictureToolWnd::slot_determineBtnClicked()
中,是用户点击确定按钮时候,向远端服务器发送请求,在此处会设置玩家上传的头像的名:
在QCommContactItemWnd的构造函数中会向远端请求头像,具体代码如下,需要修改部分将会用红框标出
2022/2/7:修改了用户头像及群头像的请求方式,提出新的关于请求头像的方案,队列式请求头像,即:请求一张头像完成后,才请求另一张头像,还有历史遗留的一个问题:res文件夹应该被消灭了,明天优先修改这个
排队买包子,只有当前一个人买了或者不买,才会轮到下一个人,这样就会有序。此方案应该涉及到任务队列,线程等知识,这部分内容明天整改
将res中相应文件移到img文件夹中(请明天整改)
在文件QWSClientMgr.cpp中如下位置:
关键部分代码:
具体相关代码为:
QGroupInfoWnd::QGroupInfoWnd(QWidget* p /*= nullptr*/) : QWidget(p)
{
//
setFixedSize(250, 535);
QScrollArea* m_scrollArea = new QScrollArea(this);
QWidget* m_tempWnd = new QWidget(this);
//m_scrollArea->setWidget(m_tempWnd);
m_scrollArea->setGeometry(0, 0, 250, 535);
……
……
m_scrollArea->setWidget(m_tempWnd);
}
- 服务器将会支持群聊名称
- 服务器将会支持群聊公告
- 服务器将会支持备注
- 服务器将会支持“我在本群内昵称”
- 支持显示成员昵称
- 删除并退出功能
在mx_user_group表中含有字段groupname的字段,要修改groupname只需要修改数据库中该字段值就可以
在mx_user_group表中含有字段groupsetting字段,要修改群聊公告,将groupsetting看成群聊设置的一个json串,{“GroupChatAnnouncement”:“公告内容”}
在mx_user_friend的表中含有remarks字段,用于表示我在群聊中的名称。
主要修改了QEditLable的样式及进入QEditLabel时候,将标签的文本值给label;将QEditLabel中的QLabel样式设置为无边框。
- 完善截图工具
- 发送的文本框需要支持图片复制
- 顶部的搜索框需要为其补充功能
- 完善好友查找窗口,看是否可以集成到主窗口中
- 主要为补充查找到玩家的头像信息等