在更新的 qtextbrowser 中读取特定文本

Posted

技术标签:

【中文标题】在更新的 qtextbrowser 中读取特定文本【英文标题】:Read specific text in an updating qtextbrowser 【发布时间】:2015-03-31 15:38:57 【问题描述】:

在 python 中,我有一个 QtextBrowser,它接收外部命令的输出。这很好用 输出中包含一个进度更新:

loadingfile
processing file
progress 5%
progress 10%
progress 25%
....
closing file
processing completed

我想在这个 QTextBrowser 中查询 'progress X%' 行,并将该值输入到更新进度条中。

如何阅读最新进度%?我想我会在每次更新浏览器时阅读最后一行来做到这一点,但我找不到任何方法来做到这一点。我假设我必须将文本转换为 Qstringlist:textBrowser.toPlainText(),然后进行处理?

【问题讨论】:

【参考方案1】:

虽然我确信这不是最有效的方法 - 我有一个可行的解决方案:

doc = self.textBrowser.toPlainText()
    txt= str(doc).split('\n')

    match = 'progress '
    for prog in txt:
            if match in text:
                    prog = prog.strip('progress ')
                    prog = prog.translate(None, '%')
                    prog = int(prog)
                    self.progressBar.setValue(prog)

【讨论】:

以上是关于在更新的 qtextbrowser 中读取特定文本的主要内容,如果未能解决你的问题,请参考以下文章

如何将 QTextBrowser(其中包含 html 表)的光标移动到 PyQt5 中的特定行?

在 QTextBrowser 中选择文本

QT qtextbrowser 如何在读取文件的时候不自动换行,完全按照文件的格式输出?

如何在 QTextBrowser 中居中选定文本

使用 mousePressEvent() 和 mouseReleaseEvent() 在 QTextBrowser 中选择文本

当从 html 文件中读取 Unicode 内容时,为啥 Unicode 字体无法在 QTextBrowser 中正确显示?