C/C++知识点之【SylixOS】Qt 基于FrameBuffer渲染界面
小标 2019-02-19 来源 : 阅读 1431 评论 0

摘要:本文主要向大家介绍了 C/C++知识点之【SylixOS】Qt 基于FrameBuffer渲染界面,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了 C/C++知识点之【SylixOS】Qt 基于FrameBuffer渲染界面,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

C/C++知识点之【SylixOS】Qt 基于FrameBuffer渲染界面

1.简介
Qt是目前一款比较主流的人机交互界面库。它有很强的跨平台能力,可移植性好,被广泛应用在PC端以及嵌入式领域。Qt可大致分为两部分:QtGui和QtCore,QtGui提供开发人员一套完整的开发控件,可以快速开发客户端界面;QtCore则负责底层渲染以及事件驱动等。而本章节主要介绍的是Qt的渲染机制,在Qt5中将底层渲染和窗口管理大致分为:
SylixOSFB、LinuxFB、KMS、XCB、Wayland。
SylixOSFB和LinuxFB采用相同的渲染方式:直接往FrameBuffer写像素值,这种方式只支持软件渲染,主要使用CPU读写内存的方式。通过设置环境变量QT_QPA_PLATFORM=sylixosfb:fb=/dev/fb0和在程序启动时添加-platform sylixosfb两种方式运行Qt程序。
KMS:利用内核配置模式和drm机制,配合egl-device实现的带有GPU加速模式。
XCB:是在X11窗口管理系统嵌入OpenGL渲染模式
Wayland:是一套轻量级的窗口管理系统,采用传统的C/S框架,可以实现基于FrameBuffer和OpenGL两种渲染方式。
2.SylixOSFB
2.1插件的初始化
SylixOSFB遵循QPA插件接口规范,在Qt程序初始化时,初始化平台管理窗口、事件分发、鼠标键盘输入管理、Screen屏幕绘制。如图 2.1所示

图 2.1 插件初始化
2.2窗口绘制
在SylixOSFBScreen中通过打开fb0设备获取屏幕信息,再通过mmap内存映射,刷新屏幕像素值。如图 2.2所示

图 2.2 FrameBuffer读写实现
2.3SylixOSFB的实现
下图是SylixOSFB插件和QtGui层交互流程图。如图 2.3所示

图 2.3 SylixOSFB交互流程

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程