【问题标题】:PyQt depth of QTextEdit bufferQTextEdit 缓冲区的 PyQt 深度
【发布时间】:2013-11-11 18:00:48
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: qt pyqt buffer qtextedit qtextbrowser


    【解决方案1】:

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

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

    logger.document().setMaximumBlockCount(5000)
    

    一旦超过阈值,这将开始从文档开头删除块。您显然必须自己计算出安全的最大值是多少和/或将其设为用户可配置的设置。

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

    【讨论】:

    • 谢谢,这就是我需要知道的 :-)
    • @JohnSantaFe。很抱歉唠叨,但是如果你觉得它有用的话,可以请accept the answer吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 2012-04-12
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多