LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

基于GTK+和X的GUI在嵌入式Linux下的应用

2023年10月6日 582点热度

在嵌入式Linux下有好多图形界面系统GUI,包括Qt/Embedded,FLTK,Microwindows和GTK+等。作为一个开发者,究竟使用哪些样的GUI系统呢?对一个系统,将它改建为符合你的需求,你要做多少更改呢?更改后的系统的规格通常会有多大呢?那些都是开发人员会碰到的问题。我们在这儿讨论的就是要对那些内容做一个具体细致的剖析,通过我们的讨论,你们会对基于GTK+和X的GUI在嵌入式Linux下的应用有一个准确的了解。

正文

在嵌入式系统应用日渐发展的明天,越来越多的应用都须要使用到GUI来进行开发,借此来获得更好的交互性。

嵌入式Linux下GUI的选择,对大多数开发人员来说是一个须要权衡对比的过程。选择GTK+运行在X系统上,之后X系统运行在嵌入系统的framebuffer上,这会是一个挺好的选择。

GTK+与X的优点

其实,GTK+与X通常都是被你们考虑为容积较大的桌面系统的好搭配,但实际上对于嵌入系统来说,它也有着众多的优点:

1、X-window系统与GTK+都十分稳定可靠,X-window系统是经历了常年的开发及应用实践的,GTK+也是一个比较成熟的开放源代码项目;

2、X-window系统是一个灵活的client/server的模型结构,一个应用顾客端的崩溃不会影响到图形系统的其他部份,这是一个很重要的特点,它有利于支持第三方应用的扩充开发,而不影响到主体部份;

3、GTK+有两个重要的库:GDK和GLIB。GDK具象了底层的窗口管理,要移植GTK+到另一个不同的窗口系统的话,我们只须要移植GDK就可以了。GLIB是一个工具集合,它包括了数据类型,各类宏定义,类型转化,字符串处理,任何应用程序都可以链接这个GLIB库,使用其中的各类数据类型、方法,来防止重复代码,或则说防止开发人员重新发明轮子,这样有利于降低整个系统的规格;

4、对GTK+/X的剪裁是很容易的,它们有着挺好的可配置的选项,有着清晰的代码结构,可以保证安全正确地去除大段的不须要的代码;

5、GTK+有着大量的应用,GTK+早已被用在了好多重要的应用系统中;

6、GTK+的授权是LGPL形式的,X是non-copyleftfreelicense的,第三方开发的系统都能与它们进行链接;

7、GTK+/X两者都是基于C代码的linux删除文件夹,而不是C++;

8、GTK+使用C来实现了面向对象的构架;

其他GUI系统

其他可以选择的图形系统包括:Qt/Embedded,FLTK和Microwindows。

1、Qt/E是其中较中级的,它是一个完整的,基于framebuffer的GUI系统,由Trolltech公司开发;

开发linux应用--用gtk+和gdk开发linux图形用_开发linux应用--用gtk+和gdk开发linux图形用_开发linux应用--用gtk+和gdk开发linux图形用

2、Qt/E有着高效的图形渲染疗效,还包括TrueType字体系统,及alphablending半透明处理;

3、但Qt/E不是使用LGPL授权形式,而是使用两种授权形式:开发使用GPL,而商用须要授权与版税;

4、Qt/E是用C++编撰的;

5、Qt/E特别大,一个iPAQQPE就包括了3.3MB的Qt/E库和一个718KB的QPE库(和Xlib类似的一种库);

6、Qt/E不够稳定,QPEdemo不错,但出现过崩溃;

7、FLTK(theFastLightToolkit)是一个大型的GUI图形系统,它也是用C++写的开发linux应用--用gtk+和gdk开发linux图形用,特点太少,应用范围较少,不够成熟;

8、Microwindows和X-Window相比也是一个不错的选择,它占用大概100KB-600KB大小的显存开发linux应用--用gtk+和gdk开发linux图形用,和文件储存空间linux运维招聘,即使早已有了一个其上的GTK+移植,但还是不够成熟;

X-window:比你想像的要小好多

对于X-window系统,广大的网路开发者早已做了大量的工作来减少其的规格,最著名的有TinyX。可以通过对不须要的代码的剪裁及消除XLIB中静态数据来降低总体的规格,如:color管理系统,圆弧,粗腰线等。

在大多数开发人员的印象里,X系统很庞大,但实际上,你看到的,是这些对X不够了解的人的一种误读。在经过剪裁后的情况下,GTK+/X要比GTK+/FB与Qt/E还要来得有效,且XLIB对通常的应用程序有着更好的支持作用,应用程序的开发会显得更高效。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 图形 嵌入 应用 开发 系统
最后更新:2023年10月6日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux主机安全检查期间的安全状况全面分析 常用FTP服务器的几种常用的架构软件介绍 如何像一个内核开发者那样开发linux设备驱动源 Linux下如何使用vsftpd构建后的FTP服务器有哪些特点 Gcc编译器编译语言:C运行库C语言标准 提高网络编程功力的不二之选——Socket/IP协议 C语言教程之linuxC编程实战:linux电子书 #Ubuntu查看防火墙的状态#添加开放普通端口开放22:开启完成 Ubuntu18.04上安装GCC编译器通过终端执行以下命令命令 2019年Linux操作系统启动流程介绍-苏州安亲宝 如何安装Windows10下的WSL和mkfontdir命令? 获取内核源码:阅读linux内核设计的艺术 如何操作Linux启动盘?的安装目录信息详解 (多图预警)多篇Linux(centos7)安装流程 Ubuntu22.04最终发布最终RC版本号召大家积极进行进行测试 如何在Linux安装字体中用到各种命令如mkfontscale? 自带几个预设,你可以在Numix、Arc或Materia主题样式上创建自己的GTK主题 (架构)为什么要在Linux下写C++程序? Ubuntu中各种类型频繁发生的更新错误以及修复方法 图1.3编程的7个步骤,你知道吗?
如何像一个内核开发者那样开发linux设备驱动源常用FTP服务器的几种常用的架构软件介绍Linux主机安全检查期间的安全状况全面分析:身份证明检索失败开始->进程的配置文件微控制器简化存储数据的组织形式如何从Elrepo或者源代码来安装最新的Linux内核4.0Linux下ldd命令的使用方法本身不是一个程序炫龙毁灭者DC还是不能关机和重启内核的窝如何在Ubuntu下修改root用户的密码?Linux系统迁移到另一个硬盘小时就迁移完成了炫龙毁灭者DC还是不能关机和重启内核的窝如何使用Python处理文件数据-程序员必读结合虚拟化技术分析Linux系统的一般执行过程Linux中常用的域名解析命令包括哪些?(回答)炫龙毁灭者DC还是不能关机和重启内核的窝VMware如何安装UbuntuWorkstation虚拟机的博客~(官方个人免费版)开发嵌入式Linux按键驱动程序开发-电脑版软件功能强大,界面简洁明晰、操作方便快捷CentOS8安装新的java环境卸载老版本下载环境介绍Android终端仿真器安装Python的注意事项!!
fd命令提供了一种简单直白的搜索Linux文件系统 炫龙毁灭者DC还是不能关机和重启内核的窝 linux服务器80端口无法访问问题解决可以依次从上往下排查 DS-6400HD-T系列高清视音频 阿里云>社区>主题地图S>查看存储推荐 操作Linux更高效,掌握启动终端快捷键! Linux嵌入式系统智能手机系统的硬件设计 远程控制技术在生活中的应用越来越多,你知道吗? swappiness的值的大小对如何使用swap分区?临时调整的方法 【】原操作系统配备内核源代码,更不能进行内核模块实验 Linux定时任务安全权限提升) 确认连接端口是否已正确配置、linux系统常见问题的解决方案 搜狗输入法forlinux版本安装指南: 【每日一题】Linux内核源码/kernel/pid.c Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定! Python程序员深度学习的“四大名著”服务很不错 MBR方式主引导记录(MBR)代码的扇区方式引导 (Linux基础知识)Linux察看版本信息的信息三 KaliLinux安装无线网卡的过程最核心的两步:1 【Linux基础知识】与文件权限管理的Linux关系
标签聚合
文件 操作 软件 内核 linux系统 应用 文件目录 命令 虚拟机 linux服务器
书籍
课程
技术群
技术干货大合集↓
  • 2023年12月 / 18篇
  • 2023年11月 / 88篇
  • 2023年10月 / 94篇
  • 2023年9月 / 90篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2024 linuxgod.net ALL RIGHTS RESERVED.