如何在QTextEdit中高亮显示文本字符串
How to highlight a string of text within a QTextEdit
我是一名学生程序员,目前正在使用Qt4开发一个应用程序。我正在构建一个等式编辑器,在试图突出显示QTextEdit字段中的字符串时遇到问题。我有一个函数,它解析QTextEdit字符串,并返回错误所在位置的起始和结束整数。我最初的策略是在这两点使用HTML标记来突出显示错误。不幸的是,html标记和等式语法似乎存在问题。
我想我需要的是一种策略,它依赖于Qt的库来设置这两个索引之间的背景色。我开始寻找QSyntaxHighlighter;然而,我认为这更多的是为了强调使用预定义的一组定律,而不是为了抓住a&b并设置背景颜色。如果我可以使用语法高亮,请提供一个示例或参考,因为我已经阅读了文档,但没有找到任何内容。
感谢您提前提供的帮助!
第页。S.只是为了强调html兼容性问题;html由于多个<和>使用的标志。
您可以使用QTextCursor
和QTextCharFormat
:
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);
相关文章:
- 尝试使用 WinBGI 显示文本时出现编译器错误
- 动态填充的组合框不显示文本,列表未定义
- QTreeWidgetItem 突出显示文本问题
- 如何通过单击按钮在QTextEdit中显示文本?
- 在C Windows程序中显示文本文件内容
- findChild 从不显示文本浏览器
- C 在同一行中左右显示文本
- 使用 C++ 中的向量在新行上显示文本文件中的列
- 如何使用 Opengl 库显示文本文件中的 3D 点
- Qt. 方法显示文本() 如果我在 QStyledItemDelegate 中定义了 paint() 方法不起作用
- 如何在C 中的OpenGL中通过矩形显示文本
- 如何使用键盘输入和sf ::文本在SFML中添加一种文本框以显示文本字符串
- QMessageBox:无法在框中显示文本(使用 c++)
- 延迟窗口在 MFC 上显示文本
- Visual Studio代码集成的终端未显示文本
- SFML-不显示文本
- qprogressdialog未显示文本标签
- C++程序无法正确显示文本文件中的内容
- 如何在不显示文本的情况下分配Win32编辑控件的窗口名称
- SDL2 OpenGL SDL2_TTF:显示文本