如何在Qt中显示从右到左书写的古代人物

时间:2015-03-05 15:44:25

标签: c++ qt character

我有一个必须支持多种古老语言的项目。我的问题是我有一个古老的突厥语字符(该语言是从右到左书写的)但我不能在Qt标签中显示这样的字符:

//main.cpp
#include <QApplication>
#include <QString>
#include <QLabel>

int main(int argc, char** argv[])
{
    QApplication app(argc, argv);
    QString str = "\U00010C00"; // Character I wanted to display
    QLabel *label = new QLabel(str);
    label -> show();
    return app.exec();
}

当我运行它时,在标签中它会打印一个正方形,表示我认为找不到该字符。我该如何解决这个问题?

窗口右侧显示一个正方形,因此角色的位置没有问题。顺便说一句,我的操作系统是Ubuntu 12.04 x64,而我的Qt版本是5。我有Old Turkic Unicode字体。

1 个答案:

答案 0 :(得分:0)

您需要告诉标签应该使用哪种字体。

QFont labelFont = QFont( "Old Turkic" );
label->setfont( labelFont );