我试图在QPush按钮上显示一些动态生成的印地文文字。
请查看以下代码:
char nam[] = { 40, 9, 62, 9, 46, 9 };
QString nameStringInHindi(QString::fromRawData((QChar *)nam, 3));
qDebug() << nameStringInHindi;
输出: “नाम”
但如果我这样做 ui&gt; pushButton-&gt; setText(nameStringInHindi)//正在打印一些垃圾字符。
我也试过设置应用程序字体。
QFontDatabase::addApplicationFont("/usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf")
和 QApplication :: setFont(QFont(“Lohit Devanagari”,12));
但它没有帮助。
有人可以帮我解决这个问题吗? 非常感谢你的时间。
答案 0 :(得分:0)
我不知道为什么你的代码不起作用,但是在原始数据创建的字符串中添加一个空字符串会以某种方式修复字符串。这适用于使用Qt 5.0.1的Linux:
QString nameStringInHindi(QString::fromRawData((QChar*)nam, 3) + "");