フォントの種類を指定して、QLabel にインド語、アラビア語、ヘブライ語のスクリプトを表示したいと思います。UTF-8 でエンコードされた文字列を QLabel に渡そうとすると、スクリプトが正しくレンダリングされません。
QLabel で国際的な (アルファベット以外の) スクリプトを表示する正しい方法は何ですか?
フォントの種類を指定して、QLabel にインド語、アラビア語、ヘブライ語のスクリプトを表示したいと思います。UTF-8 でエンコードされた文字列を QLabel に渡そうとすると、スクリプトが正しくレンダリングされません。
QLabel で国際的な (アルファベット以外の) スクリプトを表示する正しい方法は何ですか?
a のテキストをQLabelUnicode 文字列 ( unicodepython2 ではstr、python3 で) に設定すると、正常に動作するはずです。
QString.fromUtf8python2 では、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)