qt移植到arm平台以后,自带的字库并不能很好的支持中文字体的显示,为了方便客户的开发工作,英创公司在嵌入式主板qt embedded的字库中加入了一些字体文件,经过测试,英创嵌入式主板qt embedded已经能够很好的支持中文字体的显示,并且可以自己改变字体大小和颜色。
当然如果客户希望使用一些不同的字体,可以将需要的字体文件拷贝至主板的/opt/qt-4.5/lib/font/目录下,在qt的应用程序中指定要使用的字体即可。下面说明一下程序上的实现。
在qt creator中创建新的项目,添加main.cpp文件。每一个使用qt的应用程序都必须包含qapplication,它管理了各种各样的资源。在qt embedded中,还需要包含qwsserver,因为在嵌入式平台, qt会是以qws方式运行。所以至少需要包含这两个头文件:
#include
#include
在qt中,每一个类都有一个与其同名的头文件,这里我们可以使用qdialog类和qlable类来显示最简单几个汉字,所以加上:
#include
#include
接下来就是c++中最常见到的main()函数,首先需要的是创建一个qapplication类对象,用于管理应用程序资源,注意,任何一个qt程序都要有一个qapplication类对象。接着创建一个qdialog类和一个 qlable类,我们让qlable类作为子窗口显示在qdialog类中,代码如下:
int main(int argc, char *argv[])
{
qapplication a(argc, argv);
qdialog w;
qlabel label(&w);
}
下面在label中显示几个简单的汉字,并移动到我们想要的位置,继续在main()函数中代码如下:
label.settext(qobject::tr('hello world! 你好qt!'));
label.move(120, 120);
接下来可以指定字体,设置大小和颜色,指定字体的语句为:
w.setfont(qfont('simsun_2_50',11,qfont::normal))
qpalette pe;
pe.setcolor(qpalette::windowtext,qt::blue);
label.setpalette(pe);
这里的“simsun_2_50”是英创公司加入的中文字体,根据需要跟改为客户自己拷贝的字体文件名称,“11”是字体大小,“normal”指正常字体(不加粗),blue为颜色。
最后我们要使用show()函数让他们都显示出来,并且让qapplication对象进入时间循环:
w.show();
return a.exec();
编译完成,在英创嵌入式主板中运行,就能在lcd上面显示“hello world! 你好qt!”了,这里英创公司基于中文显示,做了一个演示的界面。
下面就是一个在em335x主板上面运行中文显示的示例:
em335x主板上qt演示效果
工业热电阻的接线方式
射频电缆组件的使用方法和注意事项
科技改变生活,OE物联网创造新奇迹
TI LED照明在汽车中的应用介绍
Arm推出了2款具有AI功能的 NPU, Arm Cortex-M55和Ethos-U55
英创信息技术主板Qt Embedded中文显示示例
Adobe宣布全面支持VR180内容的同时带来了一系列的新增功能与优化
霍尔电流传感器在焊机电源中的应用分析
Google正在将新游戏添加到Nest Center
日本晶体管2SAxxxx 系列晶体管参数大全
全玻璃真空管集热器
电子元器件基础知识——继电器
三相异步电动机的额定功率是指_三相异步电动机结构
OPPO正式对外宣布推出全新产品系列Reno,4月10日正式发布
在工业应用中如何实现将MCU的数据连接到云
PCB设计的Basic规则布局规则
意法半导体发布STEVAL-IOD04KT1工业传感器套件
PCB失效的常见原因是什么
厉害了!物理学家利用曲折光线成功传送“Hello world”信息
互联网之后,人工智能成了下一个风口