QT4.5编写程序在arm开发板上无法显示中文的问题
2014-03-15 22:41
471 查看
1)、天嵌公司的给的QT4.5文件系统是有中文字库的,不过我认为有缺陷,之前我说没有,现在发现在/opt/qt-4.5/lib/fonts里面有个unifont文件。调用这个字体就可以显示中文了。代码如下:
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("unifont"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("uinifont"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("uinifont"));
QApplication a(argc, argv);
Widget w;
w.setFont(QFont("unifont",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。论坛给的那个程序就是没有这句。所以在板子上运行肯定是有问题的。论坛的那个QT程序大概是在PC机上模拟的。毕竟是模拟啊。
w.setWindowTitle(QObject::tr("为什么why?"));
w.show();
return a.exec
}
注:此方法试过可行,若要显示的中文在另外的文件函数中,则主函数调用那个另外的文件函数,则以上程序不能成功显示中文,应把QTextCodec::setCodecForTr(...)...这三句也放到那个文件函数中,才可以显示出中文
2)、自己去下载一个字库,我下载了一个非官方的字库,叫文泉驿,这个字库当然比那个UNIFONT字库要好,字体比那个要漂亮,而且unifont的字有些大有些小,很不美观。用我自己下载的非官方的文泉驿字库,和文件系统自带的字库都是无法更改字体大小的。也就是说:w.setFont(QFont("unifont",14,QFont::Normal));无论那个数字设置成多少都是没用的。字体统一大小,而且还有个纠结的问题,窗口的标题也无法正常显示。w.setWindowTitle(QObject::tr("为什么why?"));也就是说,只能显示why?,不能显示“为什么?”。
具体如下:
下载文泉驿正黑字体qpf字体库,在http://kenter1643.download.csdn.net/可以找到下载,把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此子体);再在程序中如1)方法添加代码,只用把uinifont改成wenquanyi即可
3)、终极解决办法,去文泉驿官方网 http://wenq.org/ 下载一个字库回来。里面有很多字库,我选择常用的正黑。正黑字库文件下载地址是:[url]http://downloads.sourceforge.net/project/wqy/wqy-zenhei/0.8.38%20(Pangu)/wqy-zenhei-0.8.38-1.tar.gz?use_mirror=nchc&18950117
下载回来的文件里面有这样一个文件:wqy-zenhei.ttc,我自己改了它的名字,叫zhenghei.ttc(这个由你喜欢),然后放到/opt/qt-4.5/lib/fonts里面,再在主函数里面修改字库的ID:
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QApplication a(argc, argv);
Widget w;
w.setFont(QFont("zhenghei",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
w.setWindowTitle(QObject::tr("为什么why?"));
w.show();
return a.exec
}
注:此方法自己尝试过了,但是不行,没有显示出中文
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("unifont"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("uinifont"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("uinifont"));
QApplication a(argc, argv);
Widget w;
w.setFont(QFont("unifont",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。论坛给的那个程序就是没有这句。所以在板子上运行肯定是有问题的。论坛的那个QT程序大概是在PC机上模拟的。毕竟是模拟啊。
w.setWindowTitle(QObject::tr("为什么why?"));
w.show();
return a.exec
}
注:此方法试过可行,若要显示的中文在另外的文件函数中,则主函数调用那个另外的文件函数,则以上程序不能成功显示中文,应把QTextCodec::setCodecForTr(...)...这三句也放到那个文件函数中,才可以显示出中文
2)、自己去下载一个字库,我下载了一个非官方的字库,叫文泉驿,这个字库当然比那个UNIFONT字库要好,字体比那个要漂亮,而且unifont的字有些大有些小,很不美观。用我自己下载的非官方的文泉驿字库,和文件系统自带的字库都是无法更改字体大小的。也就是说:w.setFont(QFont("unifont",14,QFont::Normal));无论那个数字设置成多少都是没用的。字体统一大小,而且还有个纠结的问题,窗口的标题也无法正常显示。w.setWindowTitle(QObject::tr("为什么why?"));也就是说,只能显示why?,不能显示“为什么?”。
具体如下:
下载文泉驿正黑字体qpf字体库,在http://kenter1643.download.csdn.net/可以找到下载,把下载好的字体库解压后的qpf文件放入lib/fonts中(qtX86和arm版本以及移植的文件系统中都放入此子体);再在程序中如1)方法添加代码,只用把uinifont改成wenquanyi即可
3)、终极解决办法,去文泉驿官方网 http://wenq.org/ 下载一个字库回来。里面有很多字库,我选择常用的正黑。正黑字库文件下载地址是:[url]http://downloads.sourceforge.net/project/wqy/wqy-zenhei/0.8.38%20(Pangu)/wqy-zenhei-0.8.38-1.tar.gz?use_mirror=nchc&18950117
下载回来的文件里面有这样一个文件:wqy-zenhei.ttc,我自己改了它的名字,叫zhenghei.ttc(这个由你喜欢),然后放到/opt/qt-4.5/lib/fonts里面,再在主函数里面修改字库的ID:
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QApplication a(argc, argv);
Widget w;
w.setFont(QFont("zhenghei",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
w.setWindowTitle(QObject::tr("为什么why?"));
w.show();
return a.exec
}
注:此方法自己尝试过了,但是不行,没有显示出中文
相关文章推荐
- 解决qt程序在板子上不能正常显示中文的问题
- 【Qt移植到linux】问题7 qt界面无法输入中文,中文不显示,乱码等问题
- qt在windows下编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题。
- 发布的QT程序无法显示图标和图片的问题
- 发布的QT程序无法显示图标和图片的问题
- 关于Qt移植后环境变量的设置 qt移植到arm中文显示问题解决 实现pc与tiny210 arm开发板 udp通信(续上)
- 关于linux下Qt5.7.0安装中文输入法无法显示的问题
- 关于Qt移植后环境变量的设置 qt移植到arm中文显示问题解决 实现pc与tiny210 arm开发板 udp通信
- 发布的QT程序无法显示图标和图片的问题
- Qt编译安装后中文无法显示问题
- 【转】发布的QT程序无法显示图标和图片的问题
- Qt程序在运行的目标机上Gif等格式的图片无法显示问题
- 关于使用了QtWebKit的PyQt程序打包后无法显示网页图片的问题(Mac0S和windows)
- 解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!
- JCreator 4.0编写程序中的中文显示问题!!
- 编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题。
- 发布的QT程序无法显示图标和图片的问题
- Qt编译安装后中文无法显示问题
- Qt5 QML程序Release版本发布程序无法显示的问题解决过程。
- Ubuntu下Qt4.8.6生成的界面中文无法显示的问题