フォントの種類を指定して、QLabel にインド語、アラビア語、ヘブライ語のスクリプトを表示したいと思います。UTF-8 でエンコードされた文字列を QLabel に渡そうとすると、スクリプトが正しくレンダリングされません。
QLabel で国際的な (アルファベット以外の) スクリプトを表示する正しい方法は何ですか?
フォントの種類を指定して、QLabel にインド語、アラビア語、ヘブライ語のスクリプトを表示したいと思います。UTF-8 でエンコードされた文字列を QLabel に渡そうとすると、スクリプトが正しくレンダリングされません。
QLabel で国際的な (アルファベット以外の) スクリプトを表示する正しい方法は何ですか?
a のテキストをQLabel
Unicode 文字列 ( unicode
python2 ではstr
、python3 で) に設定すると、正常に動作するはずです。
QString.fromUtf8
python2 では、utf8 でエンコードさstr
れたものを unicodeQString
または.decode('utf-8')
pythonに変換するために使用できますunicode
。
python3 の PyQt4 ではQString
、現在str
は既にユニコードになっているため、それを使用してください。
例えば:
s = "اردو"
d = s.decode('utf-8')
label = QtGui.QLabel(d)
font = QtGui.QFont("Sheherazade", 40)
label.setFont(font)