我有一个具有某种日志查看器的应用程序,该应用程序需要能够实时呈现插入其中的格式化日志记录。

我正在Qt中编写此代码,到目前为止,我正在使用QTextEdit渲染文本,使用一些html标签对其进行了美化,随后又使用setHtmlinsertHtml插入了该文本。

但是,问题在于这些功能耗费大量CPU资源,并且运行了很长时间,使整个应用程序无法正常运行。

在这里提出了类似的问题:QTextEdit.insertHtml() is very slow

除了没有真正有用的答案之外,它除了说明它确实很慢之外,实际上还提出了其他问题。我不需要加快setHtmlinsertHtml的速度。如果可能,我愿意使用完全不同的技术。

Qt中是否有任何机制可以真正快速地插入文本?或者,甚至与QTextEdit完全不同的组件?

有什么方法可以将新行追加到QTextEdit中,该行包含非常快速的富文本格式(以任何方式生成)?

我也注意到QTextBrowser,但它似乎只是TextEdit的扩展,会更快吗?

最佳答案

您应该尝试 QPlainTextEdit 。它使用与 QTextEdit 相同的技术,但速度更快。它针对纯文本处理进行了优化,但是不要让它愚弄您,它仍然对使用HTML格式设置提供了一些基本支持。您可以使用 appendHtml() 附加HTML格式的文本。

10-07 19:21
查看更多