pyqt5 QTextEdit Windows 10 символов ASCII - PullRequest
0 голосов
/ 10 марта 2020

Я использую PyQt5 и виджет QTextEdit. Я хочу получить простой текст из файла и показать его в QTextEdit. Это то, что у меня есть в текстовом файле

enter image description here

Так я инициализирую QTextEdit

self.info_text_edit.setPalette(palette)
font = QtGui.QFont()
font.setFamily("Courier")
font.setPointSize(10)
font.setStyleStrategy(QtGui.QFont.NoAntialias)
self.info_text_edit.setFont(font)
self.info_text_edit.setLineWrapMode(QtWidgets.QTextEdit.WidgetWidth)
self.info_text_edit.setReadOnly(True)

Затем для добавления текста Я просто делаю

self.info_text_edit.append(str(msg))

При таком подходе на Linux - все работает хорошо. Но это то, что я вижу в результате на Windows

enter image description here

1 Ответ

0 голосов
/ 11 марта 2020

Произошла ошибка в кодировании \ декодировании ..

Когда я пишу msg в файл, я должен сделать следующее:

import platform
if platform.system() == "Linux":
    msg = str(msg)
elif platform.system() == "Windows":
    msg = str(msg).encode("utf-8").decode('cp1251')

Затем, когда я читаю msg из файла Я должен сделать это:

import platform
if platform.system() == "Linux":
    self.info_text_edit.append(str(msg))
elif platform.system() == "Windows":
    self.info_text_edit.append(str(msg).encode('cp1251').decode('utf-8'))
...