0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术主板Qt Embedded中文显示示例

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-17 09:26 次阅读

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演示效果

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34616
收藏 人收藏

    评论

    相关推荐

    RX78M组 EtherCAT ETG.5003示例程序固件信息技术

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息技术.pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003<b class='flag-5'>示例</b>程序固件<b class='flag-5'>信息技术</b>

    ADXL362连接EVAL-ADICUP3029加速度计wifi示例,wifi输出的数据是乱码怎么解决?

    大家好, 最近下载了CrossCore Embedded Studio (CCES) 来给 Eval-adcup3029编程,之后尝试了一下 CCES 里自带的 WiFi 示例
    发表于 12-28 07:31

    QT4的中文手册

    ”。第三行:是 main 函数的标准写法第五行:创建一个 QApplication 对象,管理应用程序的资源。第六行:QLabel 对象,QLabel 是一个 Qt 提供的小控件,显示一行文本。第七
    发表于 09-28 06:29

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    Qt For OpenHarmony

    设计、Qt跨平台适配上有多年的技术积累和经验,开源书籍QmlBook-in-Chinese在github上star数达到1000+,现任职于软通动力信息技术(集团)股份有限公司,担任成都图形框架研究院软件开发
    发表于 09-15 15:39

    基于SEGGER Embedded Studio的Toshiba示例发布

    Toshiba现为其M4K系列MCU,提供基于Embedded Studio开发环境的示例和基础工程包。MCU外设驱动程序和示例代码使新项目能够快速启动并完成。该软件包提供所有外设底层驱动程序,具有定义良好的API,以及所有片上
    的头像 发表于 09-15 11:08 556次阅读

    峰会回顾第29期 | Qt For OpenHarmony

    基于Qt的软件框架搭建,参与Qt开源社区Bug维护及修改,在基于Qt框架的软件架构设计、Qt跨平台适配上有多年的技术积累和经验,开源书籍Qm
    的头像 发表于 09-07 08:45 630次阅读
    峰会回顾第29期 | <b class='flag-5'>Qt</b> For OpenHarmony

    集成电路是现代电子信息技术的基础

    集成电路是现代电子信息技术的基础 随着科技的不断发展,集成电路技术已成为现代电子信息技术的基础之一。它的应用范围已经涉及到电子、通信、计算机、军事等行业,已经为人们的生活和工作带来了极大的便利
    的头像 发表于 08-29 16:25 1275次阅读

    2023年国家级高职学校信息技术教师能力培训会圆满举行

    2023年国家级高职学校信息技术教师能力培训会圆满举行
    的头像 发表于 07-31 22:56 391次阅读
    2023年国家级高职学校<b class='flag-5'>信息技术</b>教师能力培训会圆满举行

    中科驭数成为证券基金行业信息技术应用创新知识库首批合作厂商!

    7月20日,证券基金行业信息技术应用 创新中心与中国信息通信研究院携手合作,正式上线了行业信息技术应用创新知识库, 旨在做好对行业信息技术应用创新工作的支撑,加强产业侧和行业机构之间的
    的头像 发表于 07-21 18:50 325次阅读
    中科驭数成为证券基金行业<b class='flag-5'>信息技术</b>应用创新知识库首批合作厂商!

    2023年中海达星推官系列直播再度启航,与您一起探讨空间信息技术

    信息技术
    中海达
    发布于 :2023年06月21日 11:45:49

    Qt(C++)使用QChart静态显示3个设备的温度变化曲线

    QChart模块是Qt Charts库的基础,提供了用于创建和显示各种类型图表的类和接口。Qt Charts库是一个功能丰富、易于使用的数据可视化工具库,可以帮助开发者在应用程序中添加漂亮而又交互性强的图表。
    的头像 发表于 05-29 14:47 1620次阅读
    <b class='flag-5'>Qt</b>(C++)使用QChart静态<b class='flag-5'>显示</b>3个设备的温度变化曲线

    quicknanobrowser TAB栏不显示中文怎么解决?

    BSP 版本是 imx-linux-hardknott -m imx-5.10.35-2.0.0.xml 。在local.conf中,我添加IMAGE_INSTALL_append = \"packagegroup-qt5-webengine。但是我去quicknanobrowser,TAB栏没有
    发表于 05-24 07:51

    权威榜单发布!“2022-2023信息技术应用创新榜”隆重揭晓

    2023年5月8日,由信息化观察网、信息技术应用创新榜组委会组织发起的“2022-2023信息技术应用创新榜”评审结果正式公示。本次榜单征集旨在全面展示信创发展最新成果,遴选出信创细分领域创新
    的头像 发表于 05-09 09:40 850次阅读

    如何将LCD显示器连接到电路板并配置驱动程序以使用示例Qt示例对其进行测试?

    。 我们找到了所用 LCD 控制器的 linux 驱动程序。 https://github.com/sirinsoftware/lcd-drivers/blob/master/ssd1963.c 但是,我们如何将 LCD 显示器连接到电路板并配置驱动程序以使用示例
    发表于 05-06 06:34