我正在尝试使用自定义字体(Veteran Typewriter)编写在QTextEdit
中打印消息的方法。我使用的这个字体支持Unicode,但是当我在我的应用程序中使用它时,所有字符如''','ę','ż'和其他抛光字符都没有正确显示(全部被 取代)。你知道为什么吗?如何强制使用Unicode? (我在Windows 10 x64上使用Visual Studio 2013社区+ Qt5附加组件,项目也定义为x64)。
我的代码:
void QtCubic::QtCStartScreen::sendMessage(QString message) {
if (log.toPlainText().length() != 0) {
log.insertPlainText("\n");
}
log.insertPlainText(message);
}
这就是我发送示例meassage的方式:
splashScreen.sendMessage("Zażółć gęślą jaźń");
答案 0 :(得分:1)
如果你要在Qt中使用Unicode字符串文字,你应该使用QStringLiteral宏。
换句话说,您的代码将如下所示:
splashScreen.sendMessage(QStringLiteral("Zażółć gęślą jaźń"));