基于qt的emd桌面系统_第1页
基于qt的emd桌面系统_第2页
基于qt的emd桌面系统_第3页
基于qt的emd桌面系统_第4页
基于qt的emd桌面系统_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)任务书第1页毕业设计(论文)题目基于QT的EMD桌面系统毕业设计(论文)要求及原始数据(资料)1综述国内外桌面系统研究现状;2深入了QT与桌面系统的相关技术就及数据库的基本用法;3实现桌面系统的界面设计和功能设计;4深入分析QT中关于桌面系统的关键技术与编写语言;5训练检索文献资料和利用文献资料的能力;6训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容1综述桌面系统在实际生活中的应用;2了解QT与桌面系统的相关技术;3熟悉EMD桌面系统的的开发环境;4深入分析QT中关于桌面系统的关键技术与编写语言QT的设计流程;5熟练掌握基于QT的EMD桌面系统的编写;6实现预想中的登录界面,桌面界面,桌面小工具应用,桌面图标操作,移植等各个功能。学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第3页主要参考文献(资料)1张春艳基于QT的嵌入式图形用户界面研究与实现,大连海事大学,200842442万长胜,金革等用QT进行面向对象软件的设计与开发,核电子学与探测技术,2004,24345503刘艳青,苏桂莲基于QT4的图形用户界面程序的设计与实现,现代计算机,200931201254薛岭,蒋馥桌面系统仿真的开发与应用,上海铁道大学学报,1998585895贾丽娜基于USB盘的微型LINUX桌面系统的设计与实现,西安电子科技大学,200733386董兰芳,刘祥春,陈意云虚拟桌面系统的实现原理,计算机工程,2001,2751441587陈常松,李英成GIS软件市场战略开发小型桌面系统,遥感信息,1994454608PLAFKEJAMESCANONICALUNVEILSUBUNTUOSFORPHONESDOUBLESASDESKTOPOSEXTREMETECHCOM,20131001109PAMELARAVASIO,SISSELGUTTORMSENSCHRINPURSUITOFDESKTOPEVOLUTIONUSERPROBLEMSANDPRACTICESWITHMODERNDESKTOPSYSTEMSACMTRANSCOMPUTHUMINTERACT,200414214810ALEKSANDARILIC,LEONELSOUSACHPSANENVIRONMENTFORCOLLABORATIVEEXECUTIONONHETEROGENEOUSDESKTOPSYSTEMSIJNC,2011118122专业班级软件1005班学生张国丹要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于QT的EMD桌面系统摘要随着嵌入式技术的不断发展,现代通讯技术的日益成熟、完善,以及新一代通讯标准的出现,现在人们使用具备高级商务功能的智能移动计算设备已成为可能,从而对基于这一类设备的桌面系统也提出了更高的要求。桌面系统的技术热点和发展趋势在于桌面操作系统和办公套件能为家庭、企业、政府及其他领域提供了基础使用环境,而且必须适应、满足实际使用模式的多样性与硬件平台的差异性,诸如移动终端、个人工作站、商务办公、政府协同处理以及国内外硬件平台的差异性,所以桌面操作系统和办公套件是现今时代最具代表性的基础信息化工具软件,同时也是软件、应用、服务的使用基础平台。系统由登录/退出、简单数据库操作、桌面小工具、桌面应用图标管理和操作、系统移植等模块组成。本系统是在以QT472的版本为运行平台,以C为编程语言来开发的,实现了一个简单地桌面系统。关键词QT;嵌入式;桌面系统;CBASEDONTHEQTEMDDESKTOPSYSTEMABSTRACTWITHTHECONTINUOUSDEVELOPMENTOFEMBEDDEDTECHNOLOGY,MODERNCOMMUNICATIONTECHNOLOGYBECOMINGMOREMATUREANDPERFECT,ANDTHEEMERGENCEOFANEWGENERATIONOFCOMMUNICATIONSTANDARD,NOWPEOPLEUSEHAVEADVANCEDBUSINESSFUNCTIONOFINTELLIGENTMOBILECOMPUTINGDEVICESHASBECOMEPOSSIBLETODESKTOPSYSTEMBASEDONTHISKINDOFEQUIPMENTISALSOPUTFORWARDHIGHERREQUIREMENTSDESKTOPHOTSPOTSANDDEVELOPINGTRENDSOFTECHNOLOGYLIESINITSDESKTOPOPERATINGSYSTEMANDOFFICESUITEFORFAMILIES,BUSINESSES,GOVERNMENTSANDOTHERAREASPROVIDETHEBASISTOUSETHEENVIRONMENT,ANDMUSTADAPTTOANDMEETTHEDIVERSITYOFACTUALUSAGEPATTERNSANDTHEDIFFERENCESOFHARDWAREPLATFORM,SUCHASMOBILETERMINAL,PERSONALWORKSTATION,BUSINESSOFFICE,THEGOVERNMENTCOORDINATIONTREATMENTASWELLASTHEHARDWAREPLATFORMOFTHEDIFFERENCESBETWEENBOTHATHOMEANDABROAD,SOTHEDESKTOPOPERATINGSYSTEMANDOFFICESUITEISTHEBASISOFTHEPRESENTAGEISTHEMOSTREPRESENTATIVEINFORMATIONTOOLSOFTWARE,ANDSOFTWARE,APPLICATIONANDSERVICEPLATFORMSYSTEMBYTHELOGIN/EXIT,SIMPLEDATABASEOPERATIONS,DESKTOPGADGETS,DESKTOPICONMANAGEMENTANDOPERATION,SYSTEMMODULES,ETCTHISSYSTEMISINQT472VERSIONASOPERATIONPLATFORM,BASEDONCPROGRAMMINGLANGUAGETODEVELOPANDIMPLEMENTASIMPLEDESKTOPSYSTEMSKEYWORDSQTEMBEDDEDDESKTOPSYSTEMC目录摘要IABSTRACTII1绪论111课题背景112课题开发意义313本文结构314项目设计原则42关键技术521关于QT的相关介绍5211简介5212发行版本5213MFC介绍6214QT与MFC比较6215使用QT开发的成功案例822关于嵌入式的相关介绍1023C语言的简单介绍1124EMD的简单介绍143总体分析与设计1531基于QT的EMD桌面系统可行性分析1532基于QT的EMD桌面系统需求分析1533基于QT的EMD桌面系统的目标设计1634基于QT的EMD桌面系统总体功能模块设计1635基于QT的EMD桌面系统各功能模块设计164系统实现1741桌面登录/退出模块1742简单数据库模块实现1843桌面界面设计1844桌面小工具模块20441帮助20442日历21443计算器21444音乐播放器23445时钟24446用户信息管理24447菜单信息管理2545桌面系统的EMD模块26451交叉编译写好的应用程序26452复制可执行文件到QPEDIR/BIN目录下26453自定义应用程序的桌面文件(DESKTOP)26454为应用程序添加图标26455制作包含应用程序的文件系统映像27456使用U盘将文件系统映像复制到PC机27457使用DNW工具将文件系统映像烧写到NANDFLASH中27结论29参考文献30致谢31外文原文32译文391绪论11课题背景电脑操作系统指的是在计算机上借助硬件运行并完成计算(应用)的软件,在桌面操作系统诞生之前,最有名的操作系统就是DOS,但是DOS的操作界面十分不友好,仅仅是代码而已,为此,微软公司推出了它们的第一个图形界面操作系统WINDOWS10,尽管只有256色,但是在当时已经够吸引人了,直到今天MACOSWINDOWSLINUX三国鼎立的局面。操作系统按应用领域来划分,有桌面操作系统、服务器操作系统和嵌入式操作系统3种。桌面操作系统是其中应用最为广泛的系统。桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作,对人的动作和反应在时序上的要求并不很严格。从应用环境来看,桌面操作系统面向复杂多变的各类应用。开发界面来看,桌面操作系统给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统的功能。桌面操作系统相对于嵌入式操作系统来说,显得比较庞大复杂。平常生活中我们如果和朋友提起操作系统,相信大家首选联想的是电脑操作系统,如微软的WINDOWSXP或者WINDOWS7操作系统等。操作系统,简称OS是管理电脑硬件与软件资源的程序,那么目前电脑操作系统有哪些呢1WINDOWS操作系统;2UNIX操作系;3MAC操作系统;4LINUX操作系统。UNIX系统是1969年在贝尔实验室诞生,最初是在中小型计算机上运用。最早移植到80286微机上的UNIX系统,称为XENIX。XENIX系统的特点是短小精干,系统开销小,运行速度快。UNIX为用户提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。UNIX被设计成为能够同时运行多进程,支持用户之间共享数据。同时,UNIX支持模块化结构,当你安装UNIX操作系统时,你只需要安装你工作需要的部分,例如UNIX支持许多编程开发工具,但是如果你并不从事开发工作,你只需要安装最少的编译器。用户界面同样支持模块化原则,互不相关的命令能够通过管道相连接用于执行非常复杂的操作。UNIX有很多种,许多公司都有自己的版本,如AT2更加绚丽的桌面和3D视觉效果3系统安全度有很大提升。当然,实现以上的功能,对于操作系统而言,也是要付出一些代价的,这个代价就是需要主频更高的CPU、更大的内存和硬盘空间做支持,以上功能才能得到更好的发挥。另外,在未来几年的发展中,WINDOWS和LINUX操作系统功能会更加的相似,LINUX桌面操作系统的市场份额将会有更大的突破。在国内,因开发“红旗LINUX”国产桌面操作系统而一炮成名的中科红旗公司,已于今年2月10日正式关门。多少次,曾经扬着红旗的小企鹅成了中国开发自主操作系统的希望,而如今,小企鹅只能留下背影,默默地离开。今天,21世纪经济报道发表文章中科红旗解散国产操作系统梦断。报道认为,红旗LINUX系统是在盗版和微软垄断的挤压下走到山穷水尽的地步的。但观察者网从另外的渠道得知,有不少业内技术人员认为红旗LINUX是个完全依赖国家核高基专款生存的项目,且在商业化运营手段和技术上都问题重重,中科红旗公司的解散主要还是由于其“内功”的致命缺陷。红旗LINUX是由北京中科红旗软件技术有限公司开发的一系列LINUX发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式LINUX等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗LINUX是中国较大、较成熟的LINUX发行版之一。然而从红旗LINUX发行以来,围绕这款操作系统就是非不断。该系统改变了LINUX系统开放源代码的特性,改为封闭源代码,主要商业销售渠道是电脑厂商预置。在其发售之初,就有许多评论认为这样的模式在商业上注定是不会成功的。而红旗LINUX遭人诟病最多的问题是据说其代码与目前成功的商业LINUX系统REDHAT(红帽)操作系统有90相同。中科红旗的商业运营情况不佳,用户数量,支持软件都非常稀少,同时其版本更新方面也问题不断。工信部软件与集成电路促进中心研究员胡昌军表示商业公司肯定是以商业利益为主。如果说从整个市场主要为家用PC占有的份额来讲,全球的LINUX份额可能不足1,95或以上可能都是XP等WINDOWS系列,苹果的MACOS也占有一部分。因为它国产系统占有市场份额比较小,在国内也一样。当然商业公司就没有意愿去开发相关软件。在对硬件的支持方面,像一些手机、数码相机等产品,也无法和这一操作系统进行连接。国产操作系统也要逊于WINDOWSXP。中标软件有限公司副总裁乔咏主要原因也是因为设备厂商没有对LINUX操作系统提供很好的支持,就是不会给它专门提供相应的驱动,使得LINUX在这方面的支持能力相对较弱。包括优麒麟在内的国产LINUX操作系统,在易用性等方面基本具备XP替代能力,但还存在生态环境差等各种问题。2013年末,国产电脑操作系统红旗LINUX遭遇“滑铁卢”,中科红旗软件技术有限公司经营发生严重困难,董事会于2013年12月13日决议从即日起解散公司。但国产操作系统的研发并未就此结束,目前国内还有多家公司在从事相关开发运营工作,而在世界范围内,LINUX系统的商业化运用也还处于方兴未艾的阶段。中国工程院院士邬贺铨认为,微软停止对WINDOWSXP技术支持一事,给国产操作系统的发展带来了一个难得的契机,“别以为现在的苹果、谷歌很强大,已经动不了,创新才是永恒的。只要能坚持创新,那么什么时候都有机会。”2014年4月8日起,美国微软公司停止了对WINDOWSXP操作系统提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。工信部对此表示,将继续加大力度,支持LINUX的国产操作系统的研发和应用,并希望用户可以使用国产操作系统。12课题开发意义中国工程院院士倪光南表示,电脑上的应用程序都是在操作系统的支持之下工作的。举个例子来说,操作系统就好像地基,应用程序就好像地基上的房子,都是通过地基到房子里的。也就是说,只要电脑联网,谁掌控了操作系统,就掌握了这台电脑上所有的操作信息。中国工程院院士倪光南操作系统厂商很容易取得用户的各种敏感信息,你的身份、账户、通讯录、手机号那么多数据在一起,如果你用大数据分析,我们国家经济社会的这种活动情况其实都可以了解。统计的数字比统计部门的数字还准确、更快。倪光南说,这种担心并不是杞人忧天。棱镜事件的主角斯诺登透露的资料显示,微软公司曾与美国政府合作,帮助美国国家安全局,获得互联网上的加密文件数据。倪光南表示,由于操作系统关系到国家的信息安全,俄罗斯、德国等国家已经推行,在政府部门的电脑中,采用本国的操作系统软件。由于国内电脑用户的不断增加,而国产操作系统是建立在WINDOWS或者LINUX的基础二次开发的操作系统。国内暂且还没有独立开发系统的能力。希望我们可以有自己开发的桌面操作系统。本系统的想法也不是很成熟,技术还很欠缺,但我知道还会有很多人在这条路上一直走下去。13本文结构具体地讲,各章研究内容如下第一章,首先介绍了本文研究背景,探讨了研究意义,然后对桌面系统的研究和发展概况进行了简单回顾,本章同时综述了其研究的目的和意义,最后概述了本文的主要内容。第二章,首先介绍了本课题使用到的主要关键技术,并进行详细分析。第三章,首先对整个项目进行了可行性分析和需求分析,给出了整个框架的结构图,并结合源代码具体分析了技术的实现方法。第四章,重点介绍了该桌面系统的实现与使用方法,并且在后面附上了运行结果的图片。最后是本课题结论、参考的一些文献、致谢信和外文翻译。14项目设计原则1统一设计原则统筹规划和统一设计系统结构。尤其是应用系统建设结构、数据模型结构、数据存储结构以及系统扩展规划等内容,均需从全局出发、从长远的角度考虑。2先进性原则系统构成必须采用成熟、具有国内先进水平,并符合国际发展趋势的技术、软件产品和设备。保证先进的同时还要保证技术的稳定、安全性。3高可靠/高安全性原则系统设计和数据架构设计中充分考虑系统的安全和可靠。4标准化原则系统各项技术遵循国际标准、国家标准、行业和相关规范。5成熟性原则系统要采用国际主流、成熟的体系架构来构建,实现跨平台的应用。6适用性原则保护已有资源,急用先行,在满足应用需求的前提下,尽量降低建设成本。7可扩展性原则尽可能设计的简明,降低各功能模块的耦合度,并充分考虑兼容性。系统能够支持对各种格式数据的存储。2关键技术21关于QT的相关介绍211简介QTCREATOR包括项目生成向导、高级的C代码编辑器、浏览文件及类的工具、集成了QTDESIGNER、QTASSISTANT、QTLINGUIST、图形化的GDB调试前端,集成QMAKE构建工具等。下面介绍QT功能和优势1QTCREATOR主要是为了帮助新QT用户更快速入门并运行项目,还可提高有经验的QT开发人员的工作效率。2使用强大的C代码编辑器可快速编写代码。3语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。4使用浏览工具管理源代码。5集成了领先的版本控制软件,包括GIT、PERFORCE和SUBVERSION开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换。6为QT跨平台开发人员的需求而量身定制。7集成了特定于QT的功能,如信号与槽(SIGNALS如果想在按下某个按钮以后想调用某断代码的执行,可以这样写CONNECTBUTTON,SIGNALCLICKED,QAPP,SLOTACTIONQT拥有非常简单而又不失强大的LAYOUT机制,以至于不使用它就是在浪费时间了。QT还提供了一个图形用户工具,QTDESIGNER,可以用来帮助建立用户界面。可以修改所使用的任何控件的属性。不用将他们放在严格的位置,可以通过LAYOUT完美的组织他们。这个工具所产生的代码我们是可以实际上阅读并且可以理解的。生成的代码单独放在一个文件里,在编程的同时,你可以随心所欲的多次重新生成用户界面。QTDESIGNER可以让你完成许多在MFC中不可能完成的任务,比如用预先填好的生成LISTVIEW,在每个TAB上用不同的VIEW来使用TAB控制。用户选择图形开发环境的时候,帮助文档是否周全是左右其选择的重要因素。VISUAL的开发环境的帮助文档MSDN这个还要单独掏钱购买非常的庞大,有10个CDROM光盘。他包罗万象,涵盖广泛。但是难免有泥沙俱下,主题模糊,关键信息不突出的遗憾。其链接设计的也很糟糕,通过链接很难从一个类跳转到其父类或者子类以及相关的类。如果你搜索一个关键字,不管是VISUALC,VISUALJ,VISUALBASIC,只要包含这些关键字的信息统统的返回来。QT的文档设计的相当优秀。你可以到DOCTOLLTECHCOM上面一睹芳容。QT的文档完备且详细的覆盖了QT的方方面面,竟然仅有18M。每一个类和方法都被详尽描述,巨细靡遗,举例充实。通过TROLLTECH公司提供的链接或者是QTASSISTANT工具,可以方便的从一个类或者方法跳转到其他的类。文档还包含了一个初学者教程和一些典型应用的例子。同时还提供了FAQ和邮件列表,方便通过INTERNET或者用户群来查阅。如果你购买了授权,在一天之内你将会得到TROLLTECH公司的技术支持。实际上,QT优秀的帮助文档使得寻求外部帮助的机会大大减少。TOLLTECH公司的一个宗旨是有如此优秀的QT产品以及其帮助文档,技术支持是多余的。使用MFC,如果要显示UNICODE,在编译链接的时候必须用到特殊的参数和改变可执行文件执行的入口,必须在每个STRING前面加上T,将CHAR修改成TCHAR,每个字符串处理函数STRCPY,STRDUP,STRCAT都要改变成另外的函数名。更令人恼火的是支持UNICODE的软件竟然不能和不支持UNICODE的DLL一起工作。当使用外部DLL来开发的时候,这是个很严重的问题,但是你毫无选择。使用QT,字符串用QSTRING来处理,其本身是与生俱来的UNICODE不需要改变什么东西。不要在编译/链接时候增添参数,不要修改代码,只需要使用QSTRING就可以了。QSTING类功能强大,你可以广泛的使用它,并且不要担心UNICODE问题。这使得转换为UNICODE非常的方便。QSTING提供了转换为CHAR和UTF8的函数。显然,MFC的CSTRING的设计相比于QT的QSTRING设计有着巨大的不同。CSTRING以CHAR为基础提供了很少的功能。它的优点是当需要CHAR类型的时候,可以直接使用CSTRING类型。乍看起来这个好像是个优点,其实实质上还是有很大的缺陷的,特别是可以直接修改CHAR而不要更新类。在转变为UNICODE的时候这个也碰到很大的麻烦。(CSTRING随编译选项可以是UNICODE版)相反,QSTRING在内部以UNICODE存储STRING,需要时提供CHAR功能。实际上很少用到CHAR,因为整个QT的API用文本的方式响应QSTRING参数。QSTRING还附带许多其他的功能,比如自动分享QSTRING的内容。这是一个非常强大的类,你会喜欢在很多地方用它的。使用MFC是可以国际化的,但是需要将每一个字符串放在一个字符串表中,在代码中到处使用LOADSTRINGIDENTIFIET。然后转化这些资源到DLL中,翻译字符串到所需要的语言,改变图形界面,然后调用程序使用这个DLL。整个过程是如此的繁琐,可谓牵一发而动全身。考虑的事情要面面俱到。使用QT的时候,只需要将字符串置于函数TR中,在程序开发中这算是举手之劳。可以直接在代码中改变字符串的参考。QTLINGUIST,QT的一个工具,能够提取所有待翻译的STRING并按照友好的界面显示出来。这个用户界面非常适合翻译,使用字典,显示字符串内容,恰当的UNICODE显示,快捷方式冲突检测,检测未翻译的字符串,检测字符串修改情况,功能齐全。这个软件可以供没有任何编程经验的翻译者使用。同时该软件在GPL的版权下发布,可以按照你的需求来修改它。翻译以后的文档保存在XML中,适合软件复用的原则。为软件增加一种新的语言版本仅仅是用QTLINGUIST产生一个新的文件而已。在本次桌面系统开发中注重的是图形化界面的使用,所以使用QT将会对本设计有很大的帮助。由于在以前的学习中很少接触到MFC的开发,而QT开发则是学习了有一段时间,因此本设计使用QT开发设计。215使用QT开发的成功案例一些著名的例子如下3DSLICER,AFREEOPENSOURCESOFTWAREFORVISUALIZATIONANDMEDICALIMAGECOMPUTINGACETONEISO镜像文件挂载软件;ADOBEPHOTOSHOPALBUM一个图像组织应用程序;ARORA一款跨平台的开源网页浏览器;AUTODESKMOTIONBUILDER,三维角色动画软件;AUTODESKMAYA,3D建模和动画软件;AVIDEMUX,AFREESOFTWAREPROGRAMDESIGNEDFORMULTIPURPOSEVIDEOEDITINGANDPROCESSINGAVOGADRO高级分子编辑器;BATTLENET暴雪公司开发的游戏对战平台BOUML一个免费的统一建模语言工具箱BITCOIN比特币CHMCREATOR开源的CHM开发工具CINEFX一款跨平台、开源、免费、影片剪辑,特效与合成套装COCOAASOFTWAREFORCOMPUTATIONSINCOMMUTATIVEALGEBRADASHEXPRESS,ANINTERNETENABLEDPERSONALNAVIGATIONDEVICEDAZSTUDIO,A3DFIGUREILLUSTRATION/ANIMATIONAPPLICATIONDOXYGENAPI文件产生器EAGLE,TOOLFORDESIGNINGPRINTEDCIRCUITBOARDS(PCBS)EISKALTDC,APROGRAMTHATUSESTHEDIRECTCONNECTPROTOCOLEMERGENT神经网络模拟器。ASOFTWAREPRODUCTFORTHESIMULATIONOFELECTROMAGNETICFIELDSEVALINUX版QQ聊天软件。FREECAD,AFREEANDOPENSOURCE3DSOLIDANDGENERALPURPOSEDESIGNCAD/CAEFREEMAT一个自由开源的数值计算环境和编程语言FULLTILTPOKER,ONEOFTHEMOSTPOPULARONLINEPOKERPROGRAMS。GADUGADU实时通信软件GAMBAS,AFREEDEVELOPMENTENVIRONMENTBASEDONABASICINTERPRETERGOLDENDICT一款开源的字典软件GOOGLE地球(GOOGLEEARTH)三维虚拟地图软件。GNSCISCO网络模拟器。GUITARPRO6,ATABLATUREEDITOR刺猬大作战一个基于百战天虫的开源游戏。HYDROGEN,ANADVANCEDDRUMMACHINEIMAGEVIS3D,AVOLUMERAYCASTINGAPPLICATIONIPE自由的矢量图形编辑器ISEWEBPACK,AFREEWAREEDATOOLFORWINDOWSANDLINUXDEVELOPEDBYXILINXKADU,APOLISHINSTANTMESSENGERUSINGTHEGADUGADUPROTOCOL。KDELIBS一个许多KDE程序都使用的共享库,如AMAROK、K3B、KDEVELOP、KOFFICE等。KEEPASSX,AMULTIPLATFORMPORTOFKEEPASS,ANOPENSOURCEPASSWORDMANAGERFORMICROSOFTWINDOWSLAUNCHY一个开放源代码的快捷启动器LMMS一个开放源代码的音乐编辑软件LYX使用QT作为界面的LATEX软件。MATHEMATICALINUX和WINDOWS版本使用QT作为GUIMAXWELLRENDER,ASOFTWAREPACKAGETHATAIDSINTHEPRODUCTIONOFPHOTOREALISTICIMAGESFROMCOMPUTER3DMODELDATAMIXXX跨平台的开放源代码DJ混音软件MUSESCORE,一个WYSIWYG的乐谱编辑器MYTHTV开源的数字视频录制软件。NUKE,ANODEBASEDCOMPOSITORPDFEDIT自由的PDF编辑器POKERTH,ANOPENSOURCETEXASHOLDEMSIMULATORPSI一款XMPP网络协定的实时通信软件QBITTORRENT自由的BITTORRENTP2P客户端QCAD一个用于二维设计及绘图的CAD软件QJACKCTL,ATOOLFORCONTROLLINGTHEJACKAUDIOCONNECTIONKITQSVN,AGUISUBVERSIONCLIENTFORLINUX,UNIX,MACOSXANDWINDOWSOPERA著名的网页浏览器。QTCREATOR,THEFREESOFTWARECROSSPLATFORMINTEGRATEDDEVELOPMENTENVIRONMENTFROMNOKIAQTERM跨平台的BBS软件。QUANTUMGIS自由的桌面GISQUASSELIRC跨平台的IRC客户端REALFLOW,AFLUIDANDDYNAMICSSIMULATORFORTHE3DINDUSTRYRECOLL桌面搜索工具ROSEGARDEN,AFREESOFTWAREDIGITALAUDIOWORKSTATIONPROGRAMSCIDAVIS,ACROSSPLATFORMPLOTTINGANDDATAANALYSISPROGRAMSCRIBUS桌面排版软件。SKYPE一个使用人数众多的基于P2P的VOIP聊天软件。SMPLAYER跨平台多媒体播放器SPOTIFY,MUSICSTREAMINGSERVICESTELLARIUM一款天文学的自由软件TEAMSPEAK跨平台的音效通信软件TEXMAKER一款跨平台的开放源代码LATEX编辑器TEXWORKS,ITISAGRAPHICALUSERINTERFACETOTHETYPESETTINGSYSTEMTEXTORA,ADATABASEADMINISTRATIONTOOL36UNIVERSALINDENTGUI,ANAPPLICATIONWHICHHELPSTHEUSERTOBEAUTIFY,REFORMATORINDENTVARIOUSKINDSOFCODEVALKNUT,APROGRAMTHATUSESTHEDIRECTCONNECTPROTOCOLVIRTUALBOX虚拟机软件。VISIT一个开源型交互式并行可视化与图形分析工具,用于查看科学数据。VISTRAILS,ASCIENTIFICWORKFLOWMANAGEMENTANDVISUALIZATIONSYSTEMVLC多媒体播放器一个体积小巧、功能强大的开源媒体播放器。VOXOX,AUNIFIEDCOMMUNICATIONSSOFTWAREWORDPRESS,BASEDONQTFORMAEMOANDSYMBIANWPASUPPLICANT,AFREESOFTWAREIMPLEMENTATIONOFANIEEE80211IXCONFIGLINUX的KERNEL配置工具咪咕音乐咪咕音乐是中国移动倾力打造的正版音乐播放器WPSOFFICE金山软件公司推出的办公软件极品飞车韩国GAMELOFT游戏公司出品的著名赛车类游戏22关于嵌入式的相关介绍1嵌入式系统的产生嵌入式系统诞生于微型机时代,经过微型计算机的嵌入式专用化的短暂探索后,便进入到嵌入式系统独立的微控制器发展时代。直接在嵌入式处理器与外围集成电路技术基础上发展的带处理器内核的单片机,即微控制器的智能化电子系统。即便有处理器内核,也是嵌入式处理器而非通用微处理器。2嵌入式系统的独立发展道路嵌入式系统的微控制器(MCU)发展道路,是一条摆脱“专用计算机”羁绊,独立发展的道路。这是一条由INTELMCS51单片机、IDCX51实时多任务操作系统开辟的单片机独立发展的道路。MCS51是一个在微电子学、集成电路基础上,按照嵌入式应用要求,原创的嵌入式处理器。MCS51原创的体系结构、控制型的指令系统与布尔空间、外部总线方式、特殊功能寄存器(SFR)的管理模式,奠定了嵌入式系统的硬件结构基础;IDCX51是专门与MCS51单片机配置,满足嵌入式应用要求原创的实时多任务操作系统。3平台模式的由来平台模式是知识经济时代的一种基本的产业、科技模式,是人类知识分离性规律、集成性规律发展到高级阶段上的必然现象。它将一体化的产业、科技模式变革为知识平台媒介下的平台模式。只要对比上世纪60年代收音机产业与90年代的VCD/DVD产业,就会发现一体化产业模式与平台产业模式的本质差异。4嵌入式系统的平台模式按照知识的分离性发展规律,知识创新者不从事知识应用,知识应用者不需要了解创新知识原理;按照集成性发展规律要求,知识创新者应该将创新知识成果集成到工具之中,转化为知识平台,知识应用者应该在知识平台基础上实现创新知识应用。对象学科领域是嵌入式系统的最终用户,对象学科领域的电子技术应用工程师应该在一个现成的嵌入式系统平台上实现嵌入式应用系统设计。微电子学科、嵌入式计算机学科、电子技术学科(非对象学科领域中的应用工程师)不是嵌入式系统最终用户,这些学科的重要任务是将创新科技成果转化成形形色色的知识平台。嵌入式系统是一个无限大的空间,不论是嵌入式系统平台构建还是嵌入式系统平台应用,都有无限广阔的发展空间,关键是把握好自己的“定位”与“分工”,了解学科的“交叉”与“融合”。近年来,随着嵌入式硬件设备在性能上的大幅度提升和高端嵌入式应用对人机交互需求的不断加强,在基于32位微处理器的高端嵌入式平台中大多已使用LCD、触摸屏等设备作为人机交互的硬件接口,并采用基于图形库的嵌入式桌面系统作为上层的人机界面。目前有多种基于LINUX的嵌入式桌面系统,QTOPIA是其中比较成熟、应用广泛的一种,它采用QT/EMBEDDED作为底层图形库。QT/EMBEDDED是PC平台LINUX上著名的KDE桌面系统所采用的QT图形库的嵌入式版本。23C语言的简单介绍C语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C完美地体现了面向对象的各种特性。C的设计目标,就是要让C既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像SIMULA那样的语言设施(SIMULA所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计的时候,还做了很大的努力,使得引借自SIMULA的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。设计原则在STROUSTRUP,1994中,C的设计规则被分为基本规则、基于设计的规则、语言的技术性规则以及基于低层次程序设计的规则四个方面,分列在下文中。基本规则C的每一步演化和发展必须是由于实际问题所引起的;C是一门语言,而不是一个完整的系统;不能无休止的一味追求完美;C在其存在的“当时”那个时期必须是有用处的;每一种语言特性必须有一个有根据的、明确的实现方案;总能提供一种变通的方法;能为意欲支持的每一种程序设计风格提供易于理解的支持方法;不强制于人。可以注意到,基本规则的最后三条暗示了两点对适用于真实世界中各种应用的便捷工具的强调;对程序员的技术和取向(偏好)的充分考虑。从一开始,C面向的就是那些要做实际项目的程序员。所谓的“完美”被认为是不可能达到的,这是由于C用户在需求、背景和待解决问题上存在着太大的不同。况且,在一门通用目的的程序设计语言的整个生存期之内,连对“完美”一词的诠释都可能会有极大的改变。由此可知,在语言的演化过程中,来自用户的反馈和语言实现者们积累的经验才是最为重要的。而它基于设计的规则为支持良好的设计方案;提供用于程序组织的语言设施;心口如一(SAYWHATYOUMEAN);所有的语言特性必须具有切实有效的承受能力;开启一个有用的特性比避免所有的误用更为重要;能将独立开发的部件组合成完整的软件。C的一个目标就是提供更易用并具有一定承受能力的设计思想和程序设计技术,进一步提高程序的质量。这些技术中的绝大部分都源自SIMULADAHL,1970DAHL,1972BIRTWISTLE,1979,并通常被作为面向对象程序设计和面向对象设计思想来讨论。然而,C的设计目标总还是在于要支持一定范围内的各种程序设计风格和设计思想。这与一般在语言设计方面的观点形成一定对比。一般在语言设计上总是试图将所有系统内建于单独一个被重点支持的、带有强制性的程序设计风格之中(或称典范PARADIGM)。技术性规则(LANGUAGETECHNICALRULES)与静态型别系统(STATICTYPESYSTEM)没有内在的冲突;像对内建(BUILTIN)型别一样对用户自定义型别提供很好的支持;个异化(LOCALITY)行为是可取的;避免产生顺序上的依赖关系;在对语言产生疑惑时,可以选取其特性中最易掌握的部分;可以因为不正当的语法使用而产生问题(SYNTAXMATTERSOFTENINPERVERSEWAYS);削弱对预处理器的使用。当然,这些规则要具体结合更多关于基本目标的上下文环境来考虑。应该注意到的是,在“与C有较高的兼容性”、“不损失效率”以及“具有便捷的可用性来解决实际问题”这三个方面的要求,与在“完整的型别安全性”、“完全的通用性”以及“完善的抽象之美”这三个方面的要求形成对立。在编写和实现中,一个程序从编写到最后得到运行结果要经历以下一些步骤1用C语言编写程序,用高级语言编写的程序称为“源程序”SOURCEPROGRAM。C的源程序是以CPP作为后缀的CPP是CPLUSPLUS的缩写2对源程序进行编译,为了使计算机能执行高级语言源程序,必须先用一种称为“编译器COMPLIER”的软件也称编译程序或编译系统,把源程序翻译成二进制形式的目标程序OBJECTPROGRAM编译是以源程序文件为单位分别编译的目标程序一般以OBJ或O作为后缀OBJECT的缩写编译的作用是对源程序进行词法检查和语法检查编译时对文件中的全部内容进行检查,编译结束后会显示出所有的编译出错信息一般编译系统给出的出错信息分为两种,一种是错误ERROR一种是警告WARNING。3将目标文件连接,在改正所有的错误并全部通过编译后,得到一个或多个目标文件此时要用系统提供的“连接程序LINKER”将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件,它的后缀是EXE,是可以直接执行的4运行程序运行最终形成的可执行的二进制文件EXE文件,得到运行结果5分析运行结果如果运行结果不正确,应检查程序或算法是否有问题面向对象程序设计有4个主要特点抽象、封装、继承和多态性。要较好地进行面向对象程序设计,还必须了解面向对象程序设计另外两个重要特征继承性和多态性。面向对象技术强调软件的可重用性SOFTWAREREUSABILITY。C语言提供了类的继承机制,解决了软件重用问题。在C中可重用性是通过继承INHERITANCE这一机制来实现的。继承是C的一个重要组成部分。一个类中包含了若干数据成员和成员函数。在不同的类中,数据成员和成员函数是不相同的。但有时两个类的内容基本相同或有一部分相同。利用原来声明的类STUDENT作为基础,再加上新的内容即可,以减少重复的工作量。C提供的继承机制就是为了解决这个问题。在C中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类例如“马”称为“基类BASECLASS”或“父类FATHERCLASS”。新建的类例如“公马”称为“派生类DERIVEDCLASS”或“子类SONCLASS”。一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类父类产生一个新的子类,称为类的派生。类的继承是用已有的类来建立专用类的编程技术。派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整。一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的。C语言优点1C设计成静态类型、和C同样高效且可移植的多用途程序设计语言;2C设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料对象化、面向对象程序设计、泛型程序设计);3C设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误;4C设计成尽可能与C兼容,籍此提供一个从C到C的平滑过渡;5C避免平台限定或没有普遍用途的特性;6C不使用会带来额外开销的特性;7C设计成无需复杂的程序设计环境。本设计是基于QT的桌面系统设计,在前边也讲述了使用QT比其他开发工具适合,而在QT中C是使用最广泛的用例。使用QT编写的C程序具有良好的跨平台特性,程序员几乎无需更改代码,所编写的应用程序即可运行在各种操作系统中,这能大幅度缩短开发周期、降低成本。QT的C类库是完全面向对象的,该类库不但功能强大,而且设计精良、方便易用。QT类库非常复杂,该类库不但全面覆盖了C的各种语言特性,还用到了MVC(MODELVIEWCONTROL)框架、隐式共享、信号与槽、命令模式、抽象工厂模式、观察者模式等。24EMD的简单介绍EMD即EMBEDDEDDESKTOP是基于QT4的嵌入式桌面系统,和QTOPIA是同一类型的软件,它的优点是小巧,你可以从这个软件中学到构建自己的桌面系统的方法,现在他不包含任何有用的应用软件。它和QTEMBEDDED开源版本遵循同样的许可证。现在这个它才刚刚起步,还在不断的扩展和优化中,希望能有更多的人对它感兴趣。3总体分析与设计31基于QT的EMD桌面系统可行性分析可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。达到这个目的不能靠主管猜想,而只能靠客观分析。必须分析几种主要的可能的解决的利弊,从而判断原定的系统目标和规模是否实现,系统完成后所能带来的效益是否达到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。从以上的分析来看,我设计的桌面系统是一个规模不太大的的系统,但目标明确,结构清晰。本设计从以下三个方面进行可行性研究1技术可行性。本设计“基于QT的EMD桌面系统”可以使用于大多数用户。鉴于本人以前学过QT开发技术,并且对QT非常感兴趣,也设计过几个小项目,使自己在此项目方面的技术很有信心。由于本设计非常实用,结合自己现有的技术加上指导老师的指导,还是能按期完成本毕业设计。2经济可行性。成本方面由于本毕业设计是软件教学的最后一个环节,所以人力自己消耗,指导老师义务指导,只需设计开发期间开发者的生活消费。所以开发本软件的成本非常低。效益方面这个桌面系统为广大手机用户开发,用户量非常大。所以从以上分析看本软件在经济上是可行的。3操作可行性。这个桌面系统为广大手机用户开发,现有的开发工具和技术完全能够实现。对于用户没有任何的特殊要求,操作方便。该项目具有良好的易用性。所以从以上几个方面分析来看,开发本软件是完全可行的。32基于QT的EMD桌面系统需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。根据本软件开发过程的要求,在技术实现可行性确定的基础上,首先要进行的系统流程的分析。需求分析就是描述系统的需求情况。结合用户的需求,本系统是用于手机或平板的桌面应用。本系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本桌面系统完成功能主要有1桌面系统的登录/退出,包括用户名、密码验证等信息。2桌面系统的界面设计。3简单数据库的实现。4桌面上图标管理和应用程序,包括一些小工具帮助、菜单改变功能、用户信息改变功能、查看日历功能、音乐功能、计算机功能、时钟等。33基于QT的EMD桌面系统的目标设计系统开发的总体任务是实现各种信息的系统化、规范化和自动化,从而达到使用户更简洁方便的使用。本软件设计的目标是,获取能够满足软件需求的、明确的、可行的、高质量的软件解决方案。“明确”是指,软件设计模型易于理解,软件构造者在设计方案的实现过程中,勿需再面对影响软件功能和质量的技术抉择或权衡。“可行”是指,在可用的技术平台和软件项目的可用资源条件下,采用预定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论