Qt是显示非常大的富文本的最佳方式?
我需要显示非常大的日志,这些日志使用HTML标记来标记不同类型的数据。
使用QTextEdit和QTextBrowser确实会减慢应用程序的运行速度,特别是在追加操作时。 我真的很想保持QTextEdit界面和功能。
我见过一些实现了自己的TextEdit风格的人来提高性能,但是如果有人使用“Qt”工具解决了这个问题,我就会徘徊。 我想过使用Model / View框架来根据需要加载数据,但它并不完全符合我的想法。
也许继承QTextEdit并覆盖它的一些插槽用于滚动...
如果有人遇到这个问题并解决它,我将不胜感激一些提示。
谢谢。
由于您的日志大概是在某个级别上的表格,因此Model / View框架听起来像可以为您工作。 也许你可以尝试使用QListView
和QGraphicsTextItem
:
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
? 模块本身相当沉重,但渲染速度非常好。
上一篇: Qt's best way to display very large rich text?
下一篇: ride CSS with user