自己动手设计并实现一个linux嵌入式UI框架

一直以来都是使用现成的UI框架,如微软的window、QT等,因为它有各种控件(如button、window、edit等)都已经封装实现好了、我们只要拿来用就是了,也一直认为它很神圣,没有深入了解它背后是如何实现的,近段时间有做这方面的项目,并且由我设计并实现的,说实在的,当时只是想找个简单易用的UI框架,QT、minigui。。。。都被我给否了,因为团队成员都不熟,包括我,考虑到开发过程中会遇到问题不好解决,用别人写的框架就是会有这样的顾虑,一般很难领悟那么深,另外加上开发团队成员水平不一,以及以后维护,思考再三,决定自己来设计实现一个,于是写了这篇博文。记录下自己的经历,同时也希望能给别人带来参考价值,当然也希望有人提出建议改进它,(源代码待我时间空闲时我会整理并上传到gitbub)基于嵌入式linux,要求就是支持按键、触摸。支持触摸、支持按键,显然一篇博文还难以描述清楚,我会分篇来描述它,已经是凌晨了,太晚了,要休息了,就先来个总框架图。

时间: 2024-10-21 02:37:09

自己动手设计并实现一个linux嵌入式UI框架的相关文章

自己动手设计并实现一个linux嵌入式UI框架(设计)

看了"自己动手设计并实现一个linux嵌入式UI框架"显然没有尽兴,因为还没有看到庐山真面目,那我今天继续,先来说说,我用到了哪些知识背景.如:C语言基础知识,尤其是指针.函数指针.内存分布,linux 基础知识.如消息队列.framebuffer.多线程.多线程同步.等,数据结构.算法(如链表.队列等),window .netframework 框架设计思想,设计模式如 mvc.观察者.单例.工厂等.知识点有点多,每个知识点有机的组合在一起,形成了一个知识网,构成了一个系统.以上提到

快速创建一个iOS主流UI框架

本框架适用于 使用 NavigationController+UITabBarController 的APP 框架QLSNavTab , GitHub地址:https://github.com/qianlishun/QLSNavTab 点击这里直接下载:Download ZIP 效果图: 简介 -------准备工作------- 在AppDelegate中 设置一个控制器为主控制器 , 例如MainController - (BOOL)application:(UIApplication *)

【设计和开发一套简单自己主动化UI框架】

!有兴趣的朋友请直接移步Github,本帖子已经不做更新,框架的详细的实现已经做了优化和代码整理,本文仅仅介绍了详细的设计思路! 目标:编写一个简单通用UI框架用于管理页面和完毕导航跳转 终于的实现效果请拉到最下方查看 框架详细实现的功能和需求 载入.显示,隐藏,关闭页面,依据标示获得对应界面实例 提供界面显示隐藏动画接口 单独界面层级.Collider.背景管理 依据存储的导航信息完毕界面导航 界面通用对话框管理(多类型Message Box) 便于进行需求和功能扩展(比方,在跳出页面之前加入

基础知识漫谈(2):从设计UI框架开始

说UI能延展出一丢丢的东西来,光java就有swing,swt/jface乃至javafx等等UI toolkit,在桌面上它们甚至都不是主流,在web端又有canvas.svg等等. 基于这些UI工具包\框架,又产生了大量通用的或者业务性的UI框架,比如Draw2d.GEF.easyUI乃至国内的EChart.白鹭等等. 这些框架的业务范围各异,一个程序员的时间和精力有限,你不可能全部都掌握,又不能预言出是哪一个将来会独步天下,甚至,连当前哪一个最流行,都够打一阵嘴炮. 那,我们应该学什么?

我想写一个Linux下的C++程序库--记我的C++库设计历程:设计一个TCP服务程序

我想写一个Linux下的C++程序库,实现一些常用的功能. 我首先想到的就是实现一个TCP监听程序.该程序应该具有哪些功能呢? 1: 启动/停止监听 2: 有客户端连接时,通知调用者 3: 与客户端断开时,通知调用者 4: 有消息到达时,通知调用者 5: 尽量避免程序退出时有没有close的socket. 该程序的大体接口及结构主要用一个类表示,内容如下: #pragma once #include <functional> namespace Hi { /* * @ brief TCP监听会

与一线Linux嵌入式开发project师的对话

转:与一线Linux嵌入式开发project师的对话 陈project师一直做Linux的嵌入式开发.作为在开发一线的project师.他对非常多问题的看法可能更切合实际需求,于是,通过邮件.就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发.我们准备给同学们解说一些入门知识.从你一线开发经验来说,给我们一些建议: 陈工回答: 对于嵌入式Linux入门,假设有一定基础,可以从驱动開始:假设没有基础.我个人建议还是从应用程序開始.由于从应用程序開始是最easy的,也是 最直观的.

与一线Linux嵌入式开发工程师的对话

转:与一线Linux嵌入式开发工程师的对话 陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,于是,通过邮件,就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发,我们准备给同学们讲解一些入门知识,从你一线开发经验来说,给我们一些建议: 陈工回答: 对于嵌入式Linux入门,如果有一定基础,可以从驱动开始:如果没有基础,我个人建议还是从应用程序开始.因为从应用程序开始是最容易的,也是 最直观的.而驱动程序运行在内核态,驱动本身的结

架构设计:系统间通信(40)——自己动手设计ESB(1)

1.概述 在我开始构思这几篇关于"自己动手设计ESB中间件"的文章时,曾有好几次动过放弃的念头.原因倒不是因为对冗长的文章产生了惰性,而是ESB中所涉及到的技术知识和需要突破的设计难点实在是比较多,再冗长的几篇博文甚至无法对它们全部进行概述,另外如果在思路上稍微有一点差池就会误导读者.一个可以稳定使用的ESB中间件凝聚了一个团队很多参与者的心血,一个人肯定是无法完成这些工作的.但是笔者思索再三,还是下决心将这这即便文章完成,因为这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的

扔掉windows,一起动手打造个人娱乐级linux,我们不用盗版系统了!

我们使用电脑,一直以来用的都是盗版windows,对于想不用盗版的人来说有两种方法,1.土豪直接花钱买,2.对于我这种屌丝学生党,尝试一下linux是一个不错的选择.说到linux,许多人可能都没听过,或者知道的人对它印象是这样的: 然而,linux发展这么久,桌面应用也已经发展得非常成熟了,现在我们linux可以是这样的: ubuntu 16.04 archlinux gentoo linux fedora 很炫有木有,其实这样的linux已经是很普通的了,只需要我们动手去做,大胆去做,就能弄