Qt显示多种字号大小
来源:互联网 发布:软件开发人员资质证书 编辑:程序博客网 时间:2024/05/01 07:30
Qt显示多种字号大小
ZZZ:http://hi.baidu.com/weiweisuo1986/item/4f6b9797999836bc83d29501
Qt显示多种字号大小
最近在做的项目,固网信息机,遇到了Qt中文化的问题。倒不是显示不了中文,而是大小的问题。
项目中移植了文泉驿的中文字库,能够很好的地显示中文!(这里非常感谢文泉驿,给我们的Qt中文化提供了很大的方便!)但是有一个问题,文泉驿的字库只支持一种字号大小,比如wenquanyi_160_50.qpf,表示16d大小的汉字。如果系统里面还要显示其他字号的汉字,就比较麻烦,比如现在这个项目,汉字用文泉驿的没有问题,但是进入到拨号界面,显示的拨出的号码非常小,很不合理!
后面在网上找了下,发现.ttf格式的字体可以支持多种字号大小。于是在windows里找到一个常用的仿宋字库simfang.ttf,放到/usr/lib/fonts里,再在应用程序中设置QFont font("simfang",60,QFont::Normal)。普通界面显示60号字体;在拨号界面,显示240号的字体,发现比较舒服!
开发板上运行APP,发现几种字体和字号都能支持,看来系统中有多种字号,用ttf文件还是蛮方便的。
=====================另一篇文章=======================
ZZZ:http://hi.baidu.com/pufvxeemebbatzq/item/6b29f12fea8639d4a417b636
QT/E 支持 多种 字号
QT/E 里面用的字库 *.qpf 都是点阵的,占空间大,并且一个字库只能显示一种字体,对于开发来说是很为难的,所以,希望可以在占用尽量小的空间下,用一个字库,显示多种字号
下面介绍一下方法;
QT/E 目录结构:
/qt
/qt/bin
/qt/lib
/qt/lib/fonts
/qt/examples
1. 首先编译 QT/E 的时候,QT/E的库文件需要 freetype 的支持,所以去掉选项 -no-freetype,推荐选项如下:
./configure -fast -qt-gif -xplatform qws/linux-arm-g++ -qt-style-windows -thread -pch -no-ipv6 -qt-libpng -qt-libjpeg -qt-libmng -embedded arm -little-endian -depths 4,8,16,24,32 -qt-mouse-linuxtp -qt-mouse-bus -qt-kbd-tty -qt-gfx-vga16 -shared -release -v -no-cups -no-nis
将生产的库文件 libqte-mt.so.3.3.8 拷贝到 开发板的 /qt/lib/ 目录下
关于 QT/E的编译请看另一篇文章
2. 在 windows 下选择一种字体, 选择 *.ttf 格式的,以仿宋为例(simfang.ttf)
3. 将文件 simfang.ttf 放到开发板 的 /qt/lib/fonts 目录
4. 修改 fonts 目录 下的 fontdir 文件,增加下面一行(此时可以将其余的都去掉,注意第一行不要是空的)
simfang simfang.ttf FT n 75 360 su
这样就可以了,下面测试一下
自己写个小程序,里面有多种字号,放到开发板,运行一下,看一下效果
我的可以,有问题咱再讨论
===================sno:自己在tiny4412Qt界面上的验证:下面介绍一下方法;
QT/E 目录结构:
/qt
/qt/bin
/qt/lib
/qt/lib/fonts
/qt/examples
1. 首先编译 QT/E 的时候,QT/E的库文件需要 freetype 的支持,所以去掉选项 -no-freetype,推荐选项如下:
./configure -fast -qt-gif -xplatform qws/linux-arm-g++ -qt-style-windows -thread -pch -no-ipv6 -qt-libpng -qt-libjpeg -qt-libmng -embedded arm -little-endian -depths 4,8,16,24,32 -qt-mouse-linuxtp -qt-mouse-bus -qt-kbd-tty -qt-gfx-vga16 -shared -release -v -no-cups -no-nis
将生产的库文件 libqte-mt.so.3.3.8 拷贝到 开发板的 /qt/lib/ 目录下
关于 QT/E的编译请看另一篇文章
2. 在 windows 下选择一种字体, 选择 *.ttf 格式的,以仿宋为例(simfang.ttf)
3. 将文件 simfang.ttf 放到开发板 的 /qt/lib/fonts 目录
4. 修改 fonts 目录 下的 fontdir 文件,增加下面一行(此时可以将其余的都去掉,注意第一行不要是空的)
simfang simfang.ttf FT n 75 360 su
这样就可以了,下面测试一下
自己写个小程序,里面有多种字号,放到开发板,运行一下,看一下效果
我的可以,有问题咱再讨论
1, 把文件放到/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/fonts/下面,如下
simfang.ttf wenquanyi_130_50.qpf wenquanyi_160_50.qpf
unifont_160_50.qpf wenquanyi_130_75.qpf wenquanyi_160_75.qpf
wenquanyi_120_50.qpf wenquanyi_150_50.qpf xx.tar.gz
wenquanyi_120_75.qpf wenquanyi_150_75.qpf
simfang.ttf wenquanyi_130_50.qpf wenquanyi_160_50.qpf
unifont_160_50.qpf wenquanyi_130_75.qpf wenquanyi_160_75.qpf
wenquanyi_120_50.qpf wenquanyi_150_50.qpf xx.tar.gz
wenquanyi_120_75.qpf wenquanyi_150_75.qpf
2. 在Qt代码中这样写:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //支持Tr中文
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); //支持中文文件名显示
QFont font2("simfang",20,QFont::Normal);///<----这里的20是字号,可以修改为12,---60等常用字号
a.setFont(font2);
Widget w;
w.show();
return a.exec();
}
3,在qt中运行既可以。
- Qt显示多种字号大小
- Pycharm显示行号,修改字号大小
- 在一个TextView之中,显示多种颜色字号的文字
- 看图识“字”(16)- 数值显示为字号大小
- 高分辨率笔记本上解决VIM字号显示大小问题
- TextView中显示不同大小字号的内容
- IOS 关于设置同样的字号,显示大小不一致
- 字号大小对应关系
- 针式打印机设置字号大小
- iOS 改变Label字号大小
- Qt Style 字体字号等
- QT各种大小中文字体显示[qt3.3.8]
- QT各种大小中文字体显示[qt3.3.8] .
- Qt自适应大小显示图片,添加菜单
- Qt自适应大小显示图片,添加菜单
- Qt---Label显示图片,自动设置大小
- Qt自适应大小显示图片,添加菜单
- Qt自适应大小显示图片,添加菜单
- makefile中wildcard notdir patsubst的简单介绍
- AndroidAnnotations——Injecting Views视图注入
- 编译DSP代码出现未定义符号__strasgi问题
- 成绩排名
- java多线程的几种状态
- Qt显示多种字号大小
- #R_画图# 转载自-谢益辉《现代图形统计》标题中换行,以及mtext的使用
- AndroidAnnotations——Injecting project Resources注入项目资源
- 舞台灯光效果
- 我们的管理:绩效与激励
- 零碎知识
- java面向对象(静态)
- 总是查无此词的词典
- DRP分销系统总结