Qt5中文显示
Qt5默认源码字符集和执行字符集为UTF8,所以默认情况下只要中文使用的是UTF8编码格式,Qt5都可以识别,当然,如果是其他编码格式的话就需要做一些转换。这里所说的识别是只是第一步,如果需要正常显示的话还需要对应的字体文件,也就是通常的的ttf文件等,这种文件描述了编码和字型之间的对应关系,使程序可以把编码和字型联系起来,进而把要输出的字型通过 framebuffer输出,于是我们就看到了相应的文字。
解释了文字实现的过程,再来看看要怎样让Qt5实现中文输出。
先看中文的编码:
查看Qt程序的界面描述文件*.ui,发现文件头开头是
查看QtCreator->工具->选项->文本编辑器->行为->文件编码
默认编码选择:UTF8
这样源码字符集就是UTF8编码
只有编码还不够,还要编码可以转换为可见的文字,于是再来看Qt5是否有对应的字体文件:
Qt5默认使用的字体文件都放在/usr/lib/fonts目录下, Qt5支持三种类型的字体,*.ttf(需要freetype支持)、*.pfa、*.qpf.
Fonts目录下有很多字体,默认都是Qt5自带的,除了qpf文件外,都可以使用桌面系统的字体查看器查看,
Qt5默认源码字符集和执行字符集为UTF8,所以默认情况下只要中文使用的是UTF8编码格式,Qt5都可以识别,当然,如果是其他编码格式的话就需要做一些转换。这里所说的识别是只是第一步,如果需要正常显示的话还需要对应的字体文件,也就是通常的的ttf文件等,这种文件描述了编码和字型之间的对应关系,使程序可以把编码和字型联系起来,进而把要输出的字型通过 framebuffer输出,于是我们就看到了相应的文字。
解释了文字实现的过程,再来看看要怎样让Qt5实现中文输出。
先看中文的编码:
查看Qt程序的界面描述文件*.ui,发现文件头开头是
<?xml version="1.0" encoding="UTF-8"?>
这说明UI中已经使用的是UTF8的编码格式。
查看QtCreator->工具->选项->文本编辑器->行为->文件编码
默认编码选择:UTF8
这样源码字符集就是UTF8编码
只有编码还不够,还要编码可以转换为可见的文字,于是再来看Qt5是否有对应的字体文件:
Qt5默认使用的字体文件都放在/usr/lib/fonts目录下, Qt5支持三种类型的字体,*.ttf(需要freetype支持)、*.pfa、*.qpf.
Fonts目录下有很多字体,默认都是Qt5自带的,除了qpf文件外,都可以使用桌面系统的字体查看器查看,