格式化打印到PyQT5 QTextEdit的字符串

时间:2017-02-17 19:06:54

标签: python python-3.x pyqt pyqt5 qtextedit

我正在运行一个进程,将这样的文本打印到QTextEdit框:

  

b'Usage:youtube-dl [OPTIONS] URL [URL ...] \ r \ n \ r \ nOptions:\ r \ n一般选项:\ r \ n -h, - help

我想格式化文本,因此它要么删除\ n \ r \ n的东西,要么删除每行开头的“b”,要么实际格式化,比如从新行开始,如果有“\ n” “ 那里。 b'每次都在那里,所以我使用字符串[2:]来解决这个问题。(基本上删除了两个第一个字符)但是这并没有解决其他问题。

我不确定QTextEdit是否可以单独执行此操作,或者使用PyQT函数,或者我是否需要导入其他内容才能删除它。除非有一个内置的python函数可以解决这个我不知道的事情。

对于代码,这里是textedit的创建,以及将文本附加到框中的功能。

self.edit = QTextEdit()
self.edit.setReadOnly(True)
self.edit.setWindowTitle("QTextEdit Standard Output Redirection")
self.edit.append('Welcome!\n\nAdd video url, or load from text file.')

追加功能:

self.edit.append(str(self.readAllStandardOutput())[2:])

1 个答案:

答案 0 :(得分:0)

我相信hereappend函数按您的意愿工作的简单示例。该函数正确地格式化换行符和所有其他内容(通过用字符串替换spam spam...中的handleTest()字符串可以看到)。

但是,我不确定b'实际上应该做什么,因此我建议将其删除(正如您已经做过的那样)。