tim*_*ner 1 pyside qtextedit python-unicode
我有一个QTextEdit我想要设置一些由ASCII Art文本渲染器生成的文本(unicode).一切都很好,除了QTextEdit扭曲文本.屏幕截图显示了在QTextEditvia中设置的相同unicode文本变量setText()并记录到控制台,在该控制台中正确显示.
如果我使用QTextEdit或QPlainTextEdit,或者如果我通过setText(ascii_art_text)或设置文本似乎并不重要setPlainText(ascii_art_text).我在这里使用PySide,但我怀疑在这种情况下并不太感兴趣.
任何想法如何解决这种扭曲?
从您的示例的外观来看,您似乎QTextEdit没有使用等宽字体,这是终端和文本编辑器通常使用的字体.使用等宽字体创建QFont.例如,
# Specific Windows monospaced font.
font = QFont("Courier New")
Run Code Online (Sandbox Code Playgroud)
根据Torsten Marek 在如何为跨平台Qt应用程序指定等宽字体的答案?,您可以获得跨平台等宽字体:
font = QFont("Monospace")
font.setStyleHint(QFont.TypeWriter)
Run Code Online (Sandbox Code Playgroud)
确定字体后,将其分配给QTextEdit:
text_edit.setCurrentFont(font)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |