2

我想在 QLabel 中显示印度语、阿拉伯语和希伯来语脚本,并指定字体类型。当我尝试将 UTF-8 编码的字符串传递给 QLabel 时,脚本未正确呈现。

在 QLabel 中显示国际(非字母)脚本的正确方法是什么?

4

1 回答 1

2

将 a 的文本设置为QLabelunicode 字符串(unicode在 python2 中,str在 python3 中)应该可以正常工作。

在 python2 中,您可以使用QString.fromUtf8将 utf8 编码转换str为 unicodeQString.decode('utf-8')python unicode

在 python3QString上的 PyQt4 中已经消失了,因为现在str已经是 unicode,所以只需使用它。

例如:

    s = "اردو"
    d = s.decode('utf-8')
    label = QtGui.QLabel(d)
    font = QtGui.QFont("Sheherazade", 40)
    label.setFont(font)
于 2012-07-20T09:14:50.237 回答