Qt的最好的方式来显示非常大的富文本?

我需要显示非常大的日志,使用HTML标记标记不同types的数据。

使用QTextEdit和QTextBrowser真的会减慢应用程序,特别是在追加操作。 我真的想保持QTextEdit界面和能力。

我见过一些实现了自己的TextEdit风格的人来提高性能,但是如果有人使用“Qt”工具解决了这个问题的话,我会徘徊不前。 我想过使用Model / View框架来根据需要加载数据,但这不像我想的那样。

也许inheritanceQTextEdit并覆盖一些插槽滚动…

如果有人遇到这个问题,并解决它,我将不胜感激一些提示。

谢谢。

由于您的日志大概是在某个级别上的表格,那么Model / View框架听起来像是可以为您工作的。 也许你可以尝试与QGraphicsTextItem使用QListView

http://doc.qt.nokia.com/latest/qgraphicstextitem.html

它有设置/获取HTML的方法:

http://doc.qt.nokia.com/latest/qgraphicstextitem.html#setHtml

http://doc.qt.nokia.com/latest/qgraphicstextitem.html#toHtml

通过这种方式编写,你会得到一些好处和麻烦。 但是你一定能够熟练的插入和追加速度。

QPlainTextEdit用于大型日志文件 – 这就是它的设计目的。 你没有得到QTextEdit提供的全部选项,但你可以设置字体和文本的颜色。

为什么不使用QWebKit ? 模块本身相当重,但渲染速度非常好。

由于使用Model / View体系结构重新实现QTextEdit的投资回报率很低,我将使用@spraff评论使用分页。

基本上我会限制我在日志中的行数,因为日志也被转储到一个文件中,如果用户需要过去或将来的某些东西(通过添加特殊按钮),我将从文件中动态读取(轻量级模型/视图….)。