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.
Use QPlainTextEdit
for large log files -- that's what it was designed for. You don't get the full range of options that QTextEdit
provides, but you can set the font and the text colour.
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
:
http://doc.qt.nokia.com/latest/qgraphicstextitem.html
It has methods for setting/getting the HTML:
http://doc.qt.nokia.com/latest/qgraphicstextitem.html#setHtml
http://doc.qt.nokia.com/latest/qgraphicstextitem.html#toHtml
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With