嵌入式GUI开发?
嵌入式编程,是与普通计算机编程相区别的:普通计算机是指运行在普通计算机(家用台式电脑、笔记本),对这类设备进行程序程序设计就是常规的程序设计。
通常情况下,其运行环境为Windows居多,也有Linux系列或苹果操作系统。
而嵌入式,是指的在单片机系统,在这种系统上进行的编程,涉及到的范围更复杂,不同结构、不同厂家、不同型号的芯片,其编程方法都有所区别。嵌入式程序设计,在多种领域方泛存在:小到手机玩具,大到航天飞机,只要是有控制电路存在的地方,基本都可以见到嵌入式系统。
GUI,是指用户界面,是指具备显示能力的嵌入式系统所用的显示界面。综合来说嵌入式GUI就是为嵌入式系统进行图形显示界面的设计。包括显示内容、显示风格、交互处理等几部分的设计。
linux有几个命令行界面?
无gui只有一个命令行界面,有gui可以同时打开多个命令行界面(终端)
linux下的api数量那么少,如何编写图形界面?
Linux编写图形界面的话,目前比较流行的就是GTK+、Qt和wxWidgets,前一个基于C语言开发,后两个基于C++开发,下面我分别简单介绍一下,感兴趣的朋友可以尝试一下:
01
GTK+
这是一个免费、开源、跨平台的GUI开发工具包,基于C语言开发而来,著名的GNOME桌面就是采用这个工具开发,自带了大量组件和容器,可以轻松布局开发任意Linux桌面程序,如果你本身只熟悉C语言的话,可以使用一下这个工具包,非常不错,简单易学,非常容易上手,而且官方自带了丰富的Demo示例,都有源码可供参考和学习:
02
Qt
这是一个免费、开源、跨平台的应用程序开发框架,基于C++开发而来,著名的Linux KDE桌面就采用这个框架开发,自带了可视化设计界面,包含了大量组件和容器,只需简单拖拽、编辑属性,就可快速创建一个GUI程序,官方资料丰富,社区文档全面,对于Linux桌面开发来说,非常不错,值得使用和学习:
03
wxWidgets
这也是一个非常著名的跨平台界面开发库,免费、开源,基于C++开发而来,与Qt仿平台外观不同,wxWidgets使用平台库创建图形接口,不需要在代码上添加额外的层,因此更高效,社区文档丰富,资料教程全面,不管是私用还是商用,都完全免费,如果你本身只熟悉C++,需要做Linux界面开发的话,那么wxWidgets就是一个非常不错的选择:
当然,除了以上3种工具或框架,还有许多其他编程语言也可开发Linux GUI程序,像Java的Swing,Python的Tkinter等都非常不错,根据实际项目需求,选择合适的一种就行,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
苹果系统是Linux系统?
和其它UNIX一样,MacOSX其实也采用的是UNIX内核,图形的分层结构,但具体实现有很大的区别。 UNIX使用XWindow(麻省理工开发)构建图形环境,XWindow相当于在内核外跑的一个应用,它包括XServer与XClient两个部分,其中XServer位于底层,与操作系统内核通讯,它主要处理输入输出信息并维护相关资源;XClient则面向用户,负责提供一个完整的GUI界面,Linux系统中非常流行的GNOME和KDE桌面环境就是最常见,最著名的XClient。 而苹果没用使用XWindow,而是开发一套名为Aqua的GUI,这也是MacOSX与其他UNIX版本根本性的区别。至于内核,MacOSX基于“Darwin”构建,Darwin本身就是一个完整的UNIX/BSD系统,具有UNIX体系惯有的高度可靠性和健壮性。Darwin项目的创始公司是苹果公司,但Darwin完全是基于开源项目FreeBSD5.0和Mach3.0构建。