gpt4 book ai didi

c++ - 如何突出显示 QTextEdit 中的文本字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:00 25 4
gpt4 key购买 nike

我是一名学生程序员,目前正在使用 Qt4 开发工作应用程序。我正在构建一个方程式编辑器,但在尝试突出显示 QTextEdit 中的字符串时遇到问题 field 。我有一个函数可以解析 QTextEdit 字符串并返回错误所在位置的开始和结束整数。我最初的策略是在这两点使用 HTML 标记来突出显示错误。不幸的是,html 标记和方程式语法似乎存在问题。

我认为我需要的是一种依赖于 Qt 库的策略来设置这两个索引之间的背景颜色。我开始寻找 QSyntaxHighlighter ;但是我认为这更多的是为了使用一组预定义的法则来突出显示,而不是仅仅为了捕获 a 和 b 之间的任何东西并设置背景颜色。如果我可以使用语法荧光笔,请为我提供示例或引用,因为我已经通读了文档但没有找到任何东西。

提前感谢您的帮助!

附言只是强调html兼容性问题;由于使用了多个 < 和 > 符号,html 变得有问题。

最佳答案

您可以使用QTextCursorQTextCharFormat:

QTextEdit *edit = new QTextEdit;
...
int begin = ...
int end = ...
...

QTextCharFormat fmt;
fmt.setBackground(Qt::yellow);

QTextCursor cursor(edit->document());
cursor.setPosition(begin, QTextCursor::MoveAnchor);
cursor.setPosition(end, QTextCursor::KeepAnchor);
cursor.setCharFormat(fmt);

关于c++ - 如何突出显示 QTextEdit 中的文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14885481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com