基于QtEmbedded的电子词典的设计与实现

更新时间:2023-07-16 16:04:29 阅读: 评论:0

软件天埘SoftwareTechn0IOgy
xpla怕皿liIlll】【一锄n-g++一no—mn01vfbdeptlls4,8,16,32,编译后将得到如下创建应用程序所需的工具包:
(1)designer是设计窗口组件的应用程序。使用它将最后生成file.ui文件和main.cpp文件;
(2)uic是从XML文件生成代码的用户界面编译器。其主要作用是将file.ui文件生成file.h和file.cpp文件。
(3)qmake工具用来生成file.pro文件;tmake是跨平台MakefiIe生成器。
利用这些工具如编译器就可以进行电子词典的开发、编译和调试。
3电子词典的设计与实现
对于应用软件设计工具Qt,在设计过程中有2种常用的设计方法。一种方法采用纯粹的面向对象的语言实现I钔,这种方法要求完全编写main文件、头文件以及应用文件,相对于Qt来说,就是
要实现+.ccp和宰.h文件;另一种设计方法采用图形化界面设计与源代码编写相结合的方式,可以用Qtdesigner(Qt设计器)设计要求实现的界面,这2种方法都有其优劣点,比较如下:(1)面向对象的语言设计方法使用方便,不受Qtde—signer的限制,而使用程序中包含的库或文件,对于信号/槽的实现也比较容易。最大特点就是可以利用更多资源根据自己的需要设计f5】。另一方面,由于这种方法要求编写所有的源程序,特别对于一些库中己存在的组件的使用需要用编程语言设置其属性,使工作量增加,而且由于只有在整个程序完全运行后才可以看到界面,从而影响了工作中的交互性和开发的速度;cvh
(2)图形化界面设计方法可以根据需要通过改变组件属性来实现。界面中涉及到的信号/槽也同样利用信号,槽属性窗口来设置。当界面设计好之后,就会自动产生不完整的main文件和}.cpp源文件,需要做的就是编写源文件中缺少部分的内容,每个应用程序名称在信号槽设置中己定义。这种方法的最大缺点就是受到Qtdesigner的限制,源程序与图形界面的改变相互影响。
本文研究的电子词典采用了2种方法相结合的手段。实际开发经验表明,善用Qtde8igner与纯编码相结合可大大提高开发速度。
3.1界面设计与实现
GuI界面的编码是件相当烦琐的事情,但Qt,Em—bedded提供了很好的工具,其功能虽
然比不上MsWin—dow8下的界面开发工具,但也有其自己的特色。QtDe—signer是Qt系统专用的界面开发工具,它不包含任何编译器,而仅仅是提供一个可视化界面编辑器。QtDe8igner将编辑完成的界面通过xML保存为.ui文件,然后由专用的uic界面编译器将其转换为标准c++的源文件嗍。在QtDesigner中,可以通过拖拉或点击的方式,在一张空白表单的适当位置上添加一些输入框和按钮等窗口组件。这时Designer工具会自动编写和维护代码。
使用QtDesigner进行c++程序编制的基本步骤是:(1)建立窗体,并根据应用的需要在窗体中添加控件,Qt会将建立的窗体保存为.ui文件;(2)使用Qt提供的uic工具将.ui文件转换为.h和.cpp文件,手动添加控制动作;(3)使用program工具为该应用程序建立.pro工程文件,并通过tmake工具为该工程建立Makefile文件;(4)运行make即可生成可执行文件。
为了用户操作简洁方便,在设计电子词典的界面时使用一个窗体设计了4个tab,每个tab是一个功能界面,其中包括按钮、行编辑框、文本框等。search编译运行后的截图如图1所示。
吸血鬼日记klaus图lBearch的界面设计截图
anna chapman
3.2功能的设计与实现
具体功能的实现需要具备单词词库、Qt/Embedded开发环境、移植成功的sQL“e。其中的单词词库是以Excel表存放。主要实现步骤如下:
(1)创建数据库文件;china radio international
(2)Qt,Embedded与SQLite连接;
(3)Qt,Embedded应用程序的实现。
篇幅所限,本文将主要介绍Qt,Embedded应用程序的实现。
数据库SQLite和Qt/Embedded连接成功后,可以通过Q忱mbedded的信号与槽机制实现英语词典的基本功能。
在8earch中定义了3个成员函数co加ect(),分别是:
connect(PBtSearch,SIGNAL(clicked()),this,SLOT(PBtSearchPress()));
eonnect(LineEditInput,SIGNAL(textChanged(con
stQString&)),this,SLOT(1ineEditCIlangeSlot(constQString&)));
c0衄ect(ListB0xWords,SlGNA№ghJighted(co璐tQstring&)),t王lis,sLOT(“stBoxW刊sClickslot(comtQstring&)))。
第1个连接函数是点击图形界面中的search按钮组件发送信号,由自定义的槽PBtSearchPress()接收信号。槽的设计中是在组件行编辑框中输入单词点击search按
软件天地”S0ft、『Va怕TeChnoIogy
钮组件,将对应单词的意思和音标显示在组件文本编辑框中,整个槽函数的实现思想是执行sQL语句得到数据的行和列,用行和列的乘积设置循环查找结束条件,如果输入的内容与数据库找到的内容匹配,就将其词义和音标追加到文本框中。限于篇幅,槽函数的实现代码在这里不一一说明。第2个连接函数是在组件行编辑框中输入,即发送一个信号给槽lineEditchangeslot(constQString&)。槽的设计中是列表编辑框的内容随着行编辑框的内容变化而变化。设计中使用了Qt/Embedded库的QListBox类中的insertItem()函数,此函数的主要功能是插入项目到列表中。其实现思想类似前一个槽函数的实现,不再详述。第3个连接函数是在组建列表编辑框中点击某个单词即发送一个信号给槽ListBoxwords—Clickslot(constQstring&)。槽的设计中是点击列表框的单词,只在文本框显示其解释和词性。其实现思想类似前面设计的槽。利用上述思想就可以完整地实现单词查询的基本功能。图2是输入单词后点击search的一个运行效果图。图中左边显示了词库(CET一4)中以“fail'’为索引的项,右边是单词的音标、中文解释和词性。
图2点击8earch按钮查询单词的截图
为了方便用户查询,设计了词典的单词索引功能,可以通过下拉索引列寻找要找的单词。点击索引列的单词进行词义查询。图3是输入“c”后点击索引列的“catch”后的截图。
图3索引列的单词显示截图3。3编译并添加应用程序到Qtopia
编译Qt,Embedded应用程序大致需要3步:(1)生成工程文件.pro;(2)生成Malefile文件;(3)使用Linll】【自带的make生成一个二进制的可执行文件,具体编译过程请参考在线帮助文档。下面介绍如何在已经安装好的Qtopia里添加编写的应用程序(Dictiona啪:
(1)建立程序Dictionar)r的图标文件
制作一个32×32大小的PNG格式的图标文件,将此文件存放在Qtopi“pic,inline目录下,然后利用qt—xll—free一3.3.3里的一个工具qembed,将Qt叩ia,pics/inline下所有的图形文件转换成一个C语言的头文件,此头文件包含了该目录下的图形文件的rgb信息;
(2)重新交叉编译Qfopia(具体编译过程可参考在线文档【7】);
(3)建立应用启动器(.deskt叩)文件,将其保存在¥QPEDI剐app8,applications目录下,具体可参考Qtopia自带应用的.desktop文件;
(4)建立根文件系统
感恩节的故事
利用原有的qtopia.cramfs的根文件系统映象,把新建的应用的相关文件添加到这个根文件系统中。首先要把qt叩ia.cmmfs的根文件系统mount到工作机器上,然后复制这个文件系统的内容到一个临时目录下,这时可以看到根文件系统里的qpe安装目录,接着把新建的应用的相关文件(包括启动器文件,包含了图标的库文件libqte.so.+和应用程序的可执行文件)复制到qpe的对应的目录下。将生成的新的根文件系统烧写到s3c2410的Flash根文件系统区;
(5)运行
重新运行Qtopia,就可以看到所添加的应用图标,如图4所示。点击“Dic£iona叮”图标,就可以运行电子词典。
share with u图4点击“Dictionary”图标的截图
嵌入式产品已经成为新的技术热点,而嵌入式GuI是嵌入式Linux不可缺少的组成部分。Qt/Embedded和Qtopia在智能终端等嵌入式系统中得到广泛应用。结合
(下转第27页)
基于Qt/Embedded的电子词典的设计与实现
作者:田莺, 杨中华, TIAN Ying, YANG Zhong Hua
作者单位:田莺,TIAN Ying(鞍山师范学院教育科学与技术学院,辽宁鞍山,114007), 杨中华,YANG Zhong Hua(航天一院15所,北京,100076)
刊名:
信息化纵横
英文刊名:MICROCOMPUTER & ITS APPLICATIONS
年,卷(期):2009,28(14)
月份用英语怎么说
引用次数:0次
简体转繁体1.任善全.吕强.钱培德-个基于Qt/Embedded的嵌入式Linux 应用程序的实现 2006(2)
2.张鹃.张雪兰基于嵌入式Linux的GUI应用程序的实现 2003(4)
3.王策.张连芳.董淼.赵宇.郑武基于Linux的嵌入式系统开发[期刊论文]-计算机应用 2002(7)
4.Xteam(中国)软件技术有限公司Qt程序设计 2002
5.倪继利Qt及Linux操作系统窗口设计 2006
6.齐亮C++GUI Qt3编程 2006
7.Trolltech online reference documentation 2003
1.会议论文陈亮.郝卫东.龙飞基于嵌入式Linux的数字相框设计2007
数字相框作为一种新型的数字消费品,具有时尚、简单、方便等特点,在此背景下,本文介绍了在嵌入式系统中利用Qt开发工具设计数字相框的方法。本项目开发所使用的硬件平台是基于Intel公司的XScale PXA255处理器,软件平台为嵌入式Linux(内核版本2.4.18),开发环境为Qt+Qt/Embedded。文中重点讨论了文件扫描、文件名列表存储、图片旋转、模块间通讯等一些重要技术问题。实验结果表明,该系统具有良好的软、硬件功能,运行稳定、可靠。
2.学位论文高娟基于嵌入式Linux智能手机GUI平台的研究与实现2006
基于Linux和J2ME的智能手机已成为嵌入式系统应用研究中的热点问题。同时,图形用户界面(GUI)在智能手机等嵌入式系统中的地位也越来越重要,它将承载越来越多的增值业务和数据服务。但大多数的PC图形用户界面都不适合嵌入式设备,因为嵌入式系统设备往往拥有着独特的用户接口模式,其GUI 必须是可定制的。
二年级家长会班主任发言稿
因此,如何搭建一个为用户提供良好界面、具有Java功能、并能够提供更多应用软件支持的GUI平台就成为基于Linux智能手机开发的一个重点和难点,对智能手机的研发具有重要的现实意义。
tcd
本文对Linux智能手机架构、UI的选择、J2ME在智能手机中的应用、和四种具有Java功能的GUI平台设计及实现展开讨论,并着重研究了
Linux+QT/E+Qtopia+J2ME架构实现中J2ME与QT/E的接口实现技术难点及性能测试等问题。本文研究的主要内容及成果包括:
研究了J2ME体系架构、KVM机制,及MIDP实现原理。
分析了Linux操作系统下QT/Embedded、Tiny X、MiniGUI等十余种嵌入式GUI产品性能及优缺点,并选择QT/QT Embedded、Gtk+/GtkFB、TinyX三种性能较好的GUIs作为研究及实践重点。
分析并设计了四种具有Java功能的Linux智能手机GUI平台架构方案,并分析了各自的优缺点及主要实
现方法。
以QT提供的API重写了MIDP原由X11实现的图形功能模块,解决MIDP向QT/X11和QT/E移植技术难点,如事件响应机制的处理、图形函数的处理、数据结构的重写等,基本实现了Linux+ QT/E+Qtopia+J2ME架构图形功能模块接口,并以JBenchmark2基准测评软件对其进行了测试分析。
实现了QT/E、J2ME向以嵌入式Linux为操作系统的开发板的移植。
本文链接:/Periodical_wxjyyy200914007.aspx
下载时间:2010年5月19日

本文发布于:2023-07-16 16:04:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1099906.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:实现   设计   文件   单词
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图