c++linuxqtqt4

Qt's best way to display very large rich text?


I need to display very large logs that uses HTML tags for marking different types of data.

Using QTextEdit and QTextBrowser really slows the application, especially on append operations. I would really like to keep the QTextEdit interface and abilities.

I've seen people that implemented their own flavor of TextEdit to improve performance, but I wandered if anyone solved this issue using "Qt" tools. I thought about using the Model/View framework to load data on demand but it is not quite what it was intended for I think.

Maybe subclassing QTextEdit and override some of its slots for scrolling...

If anyone encountered this issue and solved it, I would appreciate some tips.

Thanks.


Solution

  • Since your log is presumably tabular at some level, then the Model/View framework sounds like it could work for you. Perhaps you could try using a QListView with QGraphicsTextItem, It has methods for setting/getting HTML:

    You'll get some benefits and hassles from writing it that way, but you should certainly be able to finesse the insertions and append speed.