2017-02-17 5 views
1

Я бегу процесс, который печатает текст, как это к коробке QTextEdit:форматирует строку, которая распечатана на PyQT5 QTextEdit

b'Usage: YouTube-DL [OPTIONS] URL [URL .. .] \ г \ п \ г \ nOptions: \ г \ п Общие параметры: \ г \ п -h, --help

Я хочу форматировать текст, поэтому он либо удаляет \ п \ г и «b» в начале каждой строки, или фактическое форматирование, например, начинается с новой строки, если там есть «\ n». «B» есть каждый раз, поэтому я использую строку [2:], чтобы решить эту проблему. (Сначала удаление двух первых символов). Но это не позаботится о другой проблеме.

Я не уверен, что QTextEdit может сделать это самостоятельно, или с помощью функции PyQT, или если мне нужно импортировать что-то еще, только чтобы удалить его. Если есть встроенная функция python, которая может решить эту проблему, о которой я не знаю.

Для кода, здесь создается текстовое поле, а также функция, которая добавляет текст в поле.

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.') 

Append функция:

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

'lines = self.readAllStandardOutput(). Data(). Decode()'. – ekhumoro

+0

Спасибо @ekhumoro! Это работает! Просто добавил '.data(). Decode()' в конец readAll ...(), и он отлично поработал. – Thomasedv

ответ

0

Я считаю here простой пример, где append функция работает, как вы хотите. Функция правильно форматирует новые строки и все остальные вещи (как видно из замены строки spam spam... в строке handleTest()).

Однако на самом деле я не уверен, что должен делать b', поэтому советую удалить его (как вы уже это сделали).

Смежные вопросы