【问题标题】:Text in QTextEdit is distortedQTextEdit 中的文本失真
【发布时间】:2016-12-27 22:04:31
【问题描述】:

我有一个QTextEdit,我想在其中设置一些由 ASCII Art 文本渲染器生成的文本 (unicode)。一切正常,除了QTextEdit 扭曲了文本。屏幕截图显示了在 QTextEdit 中通过 setText() 设置的相同 unicode 文本变量,并记录到控制台,在那里它可以正确显示。



我是否使用QTextEditQPlainTextEdit,或者我是否通过setText(ascii_art_text)setPlainText(ascii_art_text) 设置文本似乎并不重要。我在这里使用 PySide,但我怀疑在这种情况下并没有太大的兴趣。


任何想法如何解决这种失真?

【问题讨论】:

    标签: pyside python-unicode qtextedit


    【解决方案1】:

    从您的示例看起来,您的 QTextEdit 似乎没有使用终端和文本编辑器通常使用的等宽字体。使用等宽字体创建QFont。例如,

    # Specific Windows monospaced font.
    font = QFont("Courier New")
    

    根据 Torsten Marek 在How to specify monospace fonts for cross platform Qt applications? 中的answer,您可以获得跨平台等宽字体:

    font = QFont("Monospace")
    font.setStyleHint(QFont.TypeWriter)
    

    确定字体后,将其分配给您的QTextEdit

    text_edit.setCurrentFont(font)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多