PyQt深度为QTextEdit缓冲区

时间:2013-11-11 18:00:48

标签: qt pyqt buffer qtextedit qtextbrowser

我正在使用从QTextEdit继承的PyQt QTextBrowser小部件。我将文本附加到它作为日志信息显示的一部分。记录可能持续数周。

保存文本的缓冲区的深度是多少?问另一种方式,我可以添加多少文本,并且仍然可以让用户使用滚动条滚动回来?

此设置是否可配置?它最终会使用我所有系统的内存吗?

感谢。

1 个答案:

答案 0 :(得分:3)

没有自动管理文本的大小:它会一直增长,直到可用内存耗尽。

最简单的解决方案可能是对文档中的文本块数设置固定限制:

logger.document().setMaximumBlockCount(5000)

一旦超过阈值,这将开始从文档的开头删除块。您显然必须自己解决一个安全的最大值和/或使其成为用户可配置的设置。

请注意,如果您不需要日志输出的富文本格式,QPlainTextEdit可能是更好的选择,因为它专为此类任务而设计。