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