• Qt 中显示中文


    这块网上找到很多文章,也是按照网上的做的,但是有很多不成功,这里把自己成功的总结下。在Qt中使用中文,按照网上的很多方法,Ubuntu中显示正常,但是移植到开发板上显示有问题,这里根据我的操作做个整理。

    显示中文主要是两点,一是编码,而是字体。

    关于编码网上查的资料各种说法都有,utf8 gbk gb2312的,我用的是utf8.

    开发板上必须也有对应的中文字体才能够显示中文,我这里在Ubuntu 12.04的安装目录中usr/share/fonts/truetype/wqy目录下,将这个拷贝到开发板Qt库中的字体库中,注意要将Qt的字体路径加入环境变量QT_QWS_FONTDIR=/opt/qt-4.8.4/lib/fonts

    image

    最后,在主函数中加入代码即可:

    #include "widget.h"
    #include <QApplication>
    #include <QTextCodec>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QTextCodec *codec = QTextCodec::codecForName("utf8");
        QTextCodec::setCodecForLocale(codec);
        QTextCodec::setCodecForCStrings(codec);
        QTextCodec::setCodecForTr(codec);
        QFont font;
        font.setFamily(("wqy-microhei"));
        Widget w;
        w.setWindowFlags(Qt::FramelessWindowHint);
    
        w.show();
        
        return a.exec();
    }

    在使用的时候使用tr宏例如ui->statelabel->setText(tr("摄像头已经运行!"))

    这样在开发板上运行的时候就可以使用中文字体,而且不会有字体大小以及排版等方面的问题。

  • 相关阅读:
    CentOS6 破解登录密码
    CentOS 添加硬盘创建并挂载分区
    CentOS 安装开发工具包
    CentOS vim的使用
    CentOS tcpdump的使用实例
    CentOS7没有ifconfig/route/arp/netstat等命令的解决方案
    CentOS 查看系统 CPU 个数、核心数、线程数
    Linux系统中的load average
    Python基础-shelve模块
    Python基础-configparser和hashlib模块
  • 原文地址:https://www.cnblogs.com/emouse/p/3056431.html
Copyright © 2020-2023  润新知