背景
使用Qt实现聊天组件的核心可概括为:气泡的实现,文本与气泡大小自适应、长文本自动换行。这个组件的实现难度主要是取决于用什么控件来实现。使用QLabel带来的难度要么是文本换行不够优雅或者文本换行优雅了但是文本不能复制(懂的都懂)。
设计实现
聊天功能具体要实现的核心:聊天气泡
功能
文本:显示文本,气泡框内容大小自适应,长文本自动换行,文本可复制
图片:显示图片,双击弹出阴影窗口显示图片(放大策略根据实际需要设计)
思考
网上很多博客qt+html的实现方式就不推荐了,原因是个人觉得这种杂交实现的方式不够纯粹,如果写客户端你选择用qt那你就应该尽可能用qt解决你的需求,以前有很多老项目都是界面库嵌入一个网页,这样的项目不好维护而且简直就是屎山就像你写一篇作文用钢笔写了几个字又用圆珠笔写几个字,这样的项目可总结为:维护难且不靠谱(人不靠谱技术无罪)。