如何在Qt源代码中处理带“±”的GUI字符串?

时间:2018-02-19 14:28:13

标签: c++ qt

当我在我的GUI源中使用“±”时,我的Qt-5.6.2不喜欢它,程序的GUI只显示一个黑色的菱形。我如何以正确的方式编码?它似乎不是普通的拉丁语。

1 个答案:

答案 0 :(得分:7)

使用Unicode

QString s(0x00B1);
qDebug() << s;

在上面的代码中,隐式使用了QString(QChar)构造函数(QChar是用十六进制表示法的16位整数文字实例化的。)

关于 ui 文件:uic工具会将字符串文字中的非ASCII字符转换为octal escape sequences。在生成的标题中,可以找到这样的行(在retranslateUi方法内):

pushButton->setText(QApplication::translate("Form", "\302\261", Q_NULLPTR));

传递给QApplication::translate的第二个参数是加号 - 减号的2字节长UTF-8表示。