string - 如何在QLabels中显示国际脚本?

标签 string fonts internationalization pyqt4

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

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

最佳答案

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

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

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

例如:

    s = "اردو"
    d = s.decode('utf-8')
    label = QtGui.QLabel(d)
    font = QtGui.QFont("Sheherazade", 40)
    label.setFont(font)

关于string - 如何在QLabels中显示国际脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11575533/

相关文章:

iOS 和国际化——所有文件都在一个 AppStore 包中?

c++ - 我可以将 C++ 字符串以流的形式传递给方法吗?

Java,返回int的格式化字符串

java - 变音符号如何以字体表示并在 Java 应用程序中键入?

php - gettext 如何处理动态内容?

javascript - OpenSocial 小工具应用程序中的本地化

java - 如何在 Java 中比较字符串?

c# - 如何在 c#/NETMF 中创建 JSON 字符串?

html - 文本转换不会像字体一样改变

reporting-services - 是否可以在 SQL Reporting Services (2008) 中使用开放式字体 (.otf)