2016-12-27 2 views
1

QTextEdit에 ASCII 아트 텍스트 렌더러가 생성 한 (유니 코드) 텍스트를 설정하고 싶습니다. QTextEdit이 텍스트를 왜곡한다는 것을 제외하면 모든 것이 잘 작동합니다. 스크린 샷은 setText()을 통해 QTextEdit에 설정되고 콘솔에 기록 된 유니 코드 텍스트 변수를 올바르게 표시합니다.이 변수는 올바르게 표시됩니다. QTextEdit의 텍스트가 왜곡되었습니다.


QTextEdit distorts text


내가 QTextEdit 또는 QPlainTextEdit, 또는 내가 setText(ascii_art_text) 또는 setPlainText(ascii_art_text)를 통해 텍스트를 설정하고있는 경우를 사용하는 경우 중요하지 않는 것

. 여기 PySide를 사용하고 있지만,이 경우에는별로 관심이 없다고 생각됩니다.


그 왜곡을 해결하는 방법에 대한 아이디어가 있으십니까?

답변

5

예를 보면 QTextEdit은 터미널 및 텍스트 편집기에서 일반적으로 사용하는 고정 폭 글꼴을 사용하지 않는 것처럼 보입니다. 고정 폭 글꼴을 사용하여 QFont을 만듭니다. 예, 토르 스텐 마렉의 answerHow to specify monospace fonts for cross platform Qt applications?에서, 당신과 함께 크로스 플랫폼 고정 폭 글꼴을 얻을 수 있습니다에 따르면

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

:

당신이 당신의 QTextEdit에 할당, 글꼴을 결정하면
font = QFont("Monospace") 
font.setStyleHint(QFont.TypeWriter) 

:

text_edit.setCurrentFont(font) 
+0

원활하게 작동합니다! 수락 및 upvoted, 감사합니다! – timmwagener

관련 문제