根据PC端telegram源码提取出来的Qt文本显示代码

最近在做一个聊天软件,是用Qt开发,消息显示是一个比较重要的部分,经过几次尝试发现Qt的默认控件都没有现成的能够实现复制、选中效果、链接、显示表情和图片等的控件,后面发现telegram的PC端也是用Qt写的,就下载了它的源码研究了一下它们的消息显示部分,并单独把这部分提取出来了,在这里分享一下。

Telegram的方法大概是这样的:

1.flatlabel是显示消息的控件,继承自他们自己封装的twidget、clickhander(为实现url点击时用);

2.初始化的style::flatlabel     这里面包含了很多显示文字的默认样式,字体大小、颜色等,我在提取的时候有些简化掉了;

3.Flatlabel有个Text类,这个是最重要的,文字解析和绘制都在这个类里面实现,通过settext方法会把文本传给Text去管理;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值