qtextedit固定内容_QTextEdit更改特定某些行的字体格式

本文介绍了如何在QT应用中利用HTML格式改变QTextEdit特定行的内容样式,特别是针对中文显示的需求。通过使用GBK编码转换类,可以将文本转换为Unicode并插入到QTextEdit中,实现特定行的红色高亮显示。关键代码包括GBK编码转换、字符串类型转换以及HTML的插入操作。
摘要由CSDN通过智能技术生成

在QT的显示过程中,往往会出于某种需要来改变特定某些行的输入格式,如下图,异常的情况下我希望异常信息以红色显示,但QTextEdit作为一个整体,往往改变了一个输入整体就都变了,比如说改变了字体颜色整个QTextEdit中的颜色都会发生改变。经过查询,用html可以实现如下图的效果,但是用html又有一个新的问题,就是中文显示的问题。在同学的帮助下,终于成功实现了利用html更改特定行的输入格式并显示中午的效果,现将代码做简单整理,或许对某些有同样需求的同行有所帮助。

关键代码只有三行,先给出代码后做解释:

QString tmpqstring1 = GBK::ToUnicode("轻微波动
");

string tmpstring1 = tmpqstring1.toStdString();

ui.statusCollect->insertHtml(tmpstring1.c_str());注意,第一行的GBK是一个

阿发老师写的一个编码格式转换的类(推荐其QT课程),ToUnicode就是将欲输入的转换为Unicode格式,放在头文件里引用就好了,具体代码最后给出。第一行中主要是html格式设置了颜色为红色,中文为“轻微波动”,第二行代码转为string类型,第三行取c_str()然后以html的格式插入到QTextEdit中去,这样就可以利用html在QTextEdit中某些特定行以特定格式显示中文了。我不太熟悉html,但是这样的确可以实现中文特定格式显示在QTextEdit中的特

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值