烧焦的雪 2021-08-10 11:42 采纳率: 0%
浏览 52

qt QLabel显示阿拉伯语言是问号

在使用QLabel做一个计时器的时候,显示阿拉伯语是,都是问号,但是其他地方的阿拉伯语能正常显示。
在中文我的格式为: QString strTemplate ="%02d时%02分%02d秒",那如果是阿拉伯语,应该写成怎样的格式?

  • 写回答

1条回答 默认 最新

  • codeaftercode 2021-08-10 11:53
    关注

    检查一下文件编码格式,建议设置为utf-8。
    然后在main()里设置app的编码格式。

    #include <QTextCodec>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
     
        //设置字体(我也不知道阿拉伯文用什么字体,这里拿微软雅黑举例)
        a.setFont(QFont("Microsoft Yahei", 9));
     
        //设置中文编码
    #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
        QTextCodec *codec = QTextCodec::codecForName("UTF-8");
        QTextCodec::setCodecForLocale(codec);
        QTextCodec::setCodecForCStrings(codec);
        QTextCodec::setCodecForTr(codec);
    #else
        QTextCodec *codec = QTextCodec::codecForName("UTF-8");
        QTextCodec::setCodecForLocale(codec);
    #endif
     
        return a.exec();
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月10日