QT学习笔记----解决QT无法显示汉字问题

ui->label->setText(QString::fromUtf8("按钮1被按下!"));

方法一:

1.下载文泉驿正黑字体qpf字体库

在http://download.csdn.net/source/3528609可以找到免费下载


2.把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此子体)
编译运行的时候:在qtcreator中在Run Settings——〉Edit run configuration:右侧单击Show Details按钮,在打开的下拉列表中Arguments:文本框中添加参数“-qws -font wenquanyi”。


或者在终端中运行:例如:./hello -qws -font wenquanyi
这样就可以显示中文了

如果不想输入后面的参数可以把lib/fonts中的其他字体全部删除,只保留泉驿正黑字体的qpf字体库。这样只需要运行./hello-qws 即可 不过这样以来就用不了其他字体了。

方法二:

主函数下添加:

#include 
#include "mainwindow.h"
#include "QTextCodec"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    // 以下部分解决中文乱码
        QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
        QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
        QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
    // 以上部分解决中文乱码

    return a.exec();
}


需要中文的地方:

ui->label->setText(QString::fromUtf8("按钮1被按下!"));

在arm中运行时:

[root@Snail /]# ./snail/4_button  -qws -font unifont








你可能感兴趣的:(QT学习)