2

フォントの種類を指定して、QLabel にインド語、アラビア語、ヘブライ語のスクリプトを表示したいと思います。UTF-8 でエンコードされた文字列を QLabel に渡そうとすると、スクリプトが正しくレンダリングされません。

QLabel で国際的な (アルファベット以外の) スクリプトを表示する正しい方法は何ですか?

4

1 に答える 1

2

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)
于 2012-07-20T09:14:50.237 に答える