qt embedded 字体

程序在qvfb下运行时,汉字可能会不显示,经过测试,找到两个解决的办法,也都是网上搜的,加上一些自己的经验,这两种方法均可以显示汉字

 

1. 代码,在main中:

QApplication app(argc, argv); app.setFont(QFont("unifont", 12, QFont::Bold) );

看不明白的人,为你默哀3秒钟,unifont字体是编译好qt就自带的

 

2. qt字库移植

 

1) 一般编译好Qt之后,就会有qvfb和makeqpf

 

qvfb是x86的,不是embedded x86的,makeqpf是embedded x86的,这里需要注意一下。

 

2) 在网上找一个字体库,我看好多人都用wenguanyi 字体,在网上搜一搜就能找到了。

3) 在lib/fonts下找到fontdir,如果没有,可以自己创建一个,在里面写上

wenquanyi wqy-zenhei.ttf FT n 75 160 u wenquanyi wqy-zenhei.ttf FT n 50 160 u wenquanyi wqy-zenhei.ttf FT n 50 180 u wenquanyi wqy-zenhei.ttf FT n 75 180 u

 

wenkuanyi: 任意名

 wqy-zenhei.ttf 文件名

FT: 表示是ttf文件

n : y表示是斜体,n表示正常

50: 表示是正常,75表示是粗体

160:表示是16点大小的字体,可根据需要修改

u:表示是unicode的

 

4)生成字库

在qvfb里面执行makeqpf,然后选择wenkuanyi这个字体,点击最下面的按钮就生成了,一看界面就明白怎么操作了。

 

 

5) 使用

app.setFont(QFont("wenquanyi", 12) );

wenquanyi就是那个字体的名字,在fontdir中写的那个字体名字,如果想换字体,也可以添加多个

 

 

 

 

 

你可能感兴趣的:(测试,qt,ttf,X86)