QT 设置textEdit字体颜色和光标颜色不一样

实现如图效果:
在这里插入图片描述

  1. 首先编辑样式表,设置光标和字体颜色
    在这里插入图片描述
  2. 然后右击或双击textEdit控件,打开编辑HTML
    在这里插入图片描述
    在这里插入图片描述
    加入代码
    在这里插入图片描述
Qt中,如果你想要在QTextEdit控件中让每行的字体大小不同,这通常是不可能直接通过控制文本编辑本身实现的,因为QTextEdit默认是一个单一字体大小的应用区域。然而,你可以通过创建自定义的富文本格式(Rich Text Format,RTF)并设置每个段落或行的样式来间接实现类似的效果。 以下是一种可能的方法: 1. 创建一个`QTextDocument`实例,并将它绑定到`QTextEdit`上。 ```cpp QTextEdit *textEdit = new QTextEdit(parent); QTextDocument *document = textEdit->document(); ``` 2. 使用`QTextCursor`遍历文本,对每个段落应用不同的字体大小。可以创建一个QFont对象并设置大小,然后应用到特定范围的文本: ```cpp QFont font; font.setPixelSize(10); // 设置字体大小,例如10pt // 获取文档开始位置 QTextCursor startCursor(document); // 遍历文档 while (!startCursor.atEnd()) { QTextCursor cursor(startCursor); QString currentLine = cursor.block().toPlainText(); // 检查是否需要变字体大小 // 这里只是一个示例,你需要根据实际需求编写条件 if (/* 条件判断 */) { cursor.select(QTextCursor::BlockUnderCursor); document->setCharacterFormat(cursor.position(), cursor.selectedTextLength(), font); } startCursor.movePosition(QTextCursor::NextBlock); } ``` 请注意,这种方法依赖于你的文本内容结构,并且不是原生的QTextEdit功能。如果需要频繁更字体大小,性能可能会受到影响,因为它会频繁地更新文档格式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值