嵌入式QT程序的汉字显示

因底层服务程序全是GBK格式的,所以QT程序要全部更改编码方式。

1、QT程序编码更改

     creator->edit->更改编码方式GBK

     main程序中做如下修改,并注意语句次序

     int main(int argc, char *argv[])

{
    //QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
    //QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
    QApplication a(argc, argv);
    QApplication::addLibraryPath("/opt/qt-4.8.5/plugins");
     //支持中文
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));        //支持中文
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK")); //支持中文文件名显示
    HomePageWnd w;
    //w.setFont(QFont("wqy-zenhei",14,QFont::Normal));
    w.setFont(QFont("zhenghei",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
    w.show();
    return a.exec();
}
这个是运行正常的版本。

QT其他程序也要进行编码修改

2、底层服务程序的仿真程序fifo_rw.c
在ultroedit中另存为ANSI/ASIC方式。

测试正确。

原文地址:https://www.cnblogs.com/xihong2014/p/7656098.html