查看完整版本: [-- 嵌入式linux系统qt界面的中文字体显示 --]

QTCN开发网 -> Qt嵌入式开发 -> 嵌入式linux系统qt界面的中文字体显示 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

newworker 2016-10-26 22:12

嵌入式linux系统qt界面的中文字体显示

           写了一个简单的qt程序,下载到海思Hi3531A开发板上运行,开发板上的系统为linux系统,但是界面上无法显示中文为一片乱码,哪位大神有相关经历介绍一下。。。

aimybbe 2016-10-28 08:45
没有中文字体吧

newworker 2016-10-28 09:30
aimybbe:没有中文字体吧 (2016-10-28 08:45) 

在网上搜了一些教程,说是下载文泉驿的中文字体可以用,但是按照网上的教程还是一堆乱码

rotung 2016-10-28 12:43
编码格式不对吧, 试试设置下编码格式,然后转换下。
QString str = "我是中文";
QTextCodec *codec = QTextCodec::codecForName("GB18030");
QByteArray encodedString = codec->fromUnicode(str);

aimybbe 2016-11-01 08:09
newworker:在网上搜了一些教程,说是下载文泉驿的中文字体可以用,但是按照网上的教程还是一堆乱码 (2016-10-28 09:30) 

完全可以的。我也搞过Hi3531

大漠之鹰 2016-11-01 10:27
Qt哪个版本啊

newworker 2016-11-02 13:30
大漠之鹰:Qt哪个版本啊 (2016-11-01 10:27)

嵌入式版的qt4.8.6,下了文泉驿的字体库添加到/lib/fonts下依然显示是乱码

大漠之鹰 2016-11-04 16:45
newworker:嵌入式版的qt4.8.6,下了文泉驿的字体库添加到/lib/fonts下依然显示是乱码
 (2016-11-02 13:30) 

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

linux、vxworks下编码默认是utf-8的,所以在嵌入式系统下用程序开始QApplication之后加入以上三行应该就可以了,可以试试用windows下的字体,会好看一点儿

jiangbaijun 2016-11-23 11:06

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
在QApplication前里加上

加入QFont font("wenquanyi", JSTAR_SYSTEM_FONT_SIZE, QFont::Normal);
    app.setFont(font);字体支持

中文显示可以用到国际化或者把你工程转为utf-8编码

zc1239044730 2016-11-30 16:12
要在main中引用,系统怎么知道你用没用,

shf1986 2017-01-10 14:41
编码格式的问题......


查看完整版本: [-- 嵌入式linux系统qt界面的中文字体显示 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled