Qt显示多种字号大小

转载 2013年12月04日 20:10:21

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文件还是蛮方便的。


=====================另一篇文章=======================


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界面上的验证:
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 
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-4.8.6显示中文并且改变字体大小和应用自己制作的字体库

问题: QT4.8.6在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致。 详解: 1>如何让Q...
  • u014213012
  • u014213012
  • 2016年11月26日 16:32
  • 1566

Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑

这类文章其实好多网友分享,但是这几天遇到一个奇葩问题,不得不记录一下。 一个DM3730开发板把文泉驿正黑字体拷贝到qt的fonts目录中,重启开发板后就能正常显示中文了,但是另外一块开发板却不行,就...
  • caoshangpa
  • caoshangpa
  • 2016年08月22日 10:47
  • 2292

使嵌入式Qt支持中文字体变换的方法(makeqpf)

QT4.7.0在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致。作者通过实验进行了一一验证。 介绍: ...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2013年06月10日 13:15
  • 10118

在一个TextView之中,显示多种颜色字号的文字

在日常的开发中,时常会遇到这类ui:      可使用一个TextView,通过 SpannableStringBuilder 拼接而成: public class CJ { p...
  • zanjunrong
  • zanjunrong
  • 2017年05月23日 17:15
  • 74

【matlab】设置绘图的大小,字号,线宽,字体--按投稿要求

%用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚,可以用下列语句操作。 %或许这并不能完全适应您的要求,但是可以吸收该语句中有用的部分, %可用于代码调图而不需要对每个图都在图...
  • u013346007
  • u013346007
  • 2017年05月02日 21:11
  • 1069

div固定大小,如果文字溢出则自动减小字号!

div固定大小,如果文字溢出则自动减小字号! window.onload = function(){ var divHeight=document.getElementById("top"...
  • sun30577
  • sun30577
  • 2012年03月05日 15:09
  • 1063

jquery随机多彩tag标签随机颜色和字号大小效果

jquery随机多彩tag标签随机颜色和字号大小效果 转自:http://www.51xuediannao.com/js/jquery/jquery_tag_suiji.html js代码: ...
  • cai7095576
  • cai7095576
  • 2014年03月26日 19:56
  • 630

matlab 设置绘图的大小,字号,线宽,字体--按投稿要求

转自http://yangwankui1573.blog.163.com/blog/static/8525880820125191023720/ %用matlab画了一张图,投稿...
  • blueskyjian
  • blueskyjian
  • 2017年05月18日 09:46
  • 324

网页设计中,字号的大小 em

在这个显示器百花齐放的时代,网页设计师往往需要考虑不同客户端的浏览体验。 文字大小,是用户体验中的一个重要部分。不同的分辨率,不同的显示器尺寸,不同的DPI,乃至不同的浏览器设置,都会对最终展现的文...
  • wenlyli
  • wenlyli
  • 2013年09月10日 13:53
  • 1133

opencv3.2工程02_显示图片窗口自动随图片大小改变同时Mat格式图像转换并在QT显示

  • 2017年05月09日 17:30
  • 1.77MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt显示多种字号大小
举报原因:
原因补充:

(最多只允许输入30个字)