QT4版mini电话薄设计
基于Ubuntu-Woojoy的QT4版mini电话薄设计 前言: Ubuntu是一个以桌面应用为主的Linux操作系统。本设计中的Ubuntu-Woojoy运行在虚拟机下开发环境。 是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。Qt具有下列优点:1.优良的跨平台特性;2.面向对象;3.丰富的API4.支持2D/3D图形渲染,支持OpenGL5.大量的开发文档;6.XML支持。 本文主要介绍了基于Ubuntu-Woojoy的QT4版mini电话薄设计,值得一提的是本系统采用了数据库SQlite3技术。本系统由本人设计、调试并最终初步定稿,现与大家共享。希望能起到抛砖引玉的作用,和大家共同学习、进步。由于时间原因,本文重点是说明QT的强大作用。对于本文相关的一切,包括源代码(在我的下载资源处可以免费得到),大家可以放心转载,但请大家注明出处。 首先搭建开发平台: (1)安装Ubuntu-Woojoy。相关细节不属本设计重点,在此不再详述。 (2)安装QT4开发工具包: 在Ubuntu-Woojoy终端下依次输入: ./xephyr.Sh& /scratchbox/login ExportDISTPLAY=:2 af-sb-init.shstart 将相关数据包的安装(我的资源下载可以免费得到)复制到Ubuntu-Woojoy的 目录/scratchbox/users/user/home/user/share-sb-ubuntu 在Ubuntu-Woojoy终端下依次输入: cd/scratchbox/users/user/home/user/share-sb-ubuntu/debpackage Chmod777* ./install.Sh 如果能出现以下界面。
OK,恭喜你,到目前为止。我们已经完成了软件开发平台的准备工作。你会发现这是多么简单。如果有疑问欢迎到我博客留言。 QT语言部分的设计: 由于篇幅的限制,本人对设计框架就不一一介绍了。下面的叙述分别基于以下两个方面:设计思想、所用函数。 (1)本系统的设计采用的是QWIDGET类。QWidget类是所有用户界面对象的基类。窗口部件是用户界面的一个原子性的部件:它从窗口系统接收鼠标,键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们都是按Z轴顺序排列的。 (2)以下是所用的类函数: //QButtonGroup窗口部件把QButton窗口部件组织在一个组中。 classQButtonGroup; //TheQTabWidgetclassprovidesastackoftabbedwidgets classQTabWidget; //QGroupBox窗口部件提供了一个有标题的组合框 classQGroupBox; //TheQLabelwidget窗口提供文本或图像的显示 classQLabel; //TheQLineEdit窗口部件提供了单行文本编辑器. classQLineEdit; //QPushButton窗口部件提供了命令按钮 classQPushButton; //QTextEdit窗口部件提供了强大的单页面的多信息文本编辑器 classQTextEdit; 本设计还大量采用了SLOT函数我。具体可参看源代码。 SQlite3数据语言的设计:
SQLite3,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它具有许多优点,亦是当前流行的一种数据语言。本设计采用SQlite3主要是用来对电话薄数据进行添加、查找、修改。 以下几方面需要朋友们说明一下: (1)从lineEdits取得数据: QStringtmp; tmp=lineEdits[1]->text(); QByteArrayba=tmp.toLatin1(); char*c_str1=ba.data(); (2)使用到的SQlite3函数主要有: //打开数据库 sqlite3_open(); //关闭数据库 sqlite3_close(); //格式化数据 sqlite3_mprintf(); //数据库查询函数 sqlite3_exec();sqlite3_get_table 电话薄系统操作说明:
(1)将源代码放入Ubuntu-Woojoy的目录/scratchbox/users/user/home/user下。 (2)cd源代码目录下。 (3)输入qmake-project生成.pro文件 (4)输入qmake生成makefile文件 (5)输入vimMakefile。添加-lsqlite3语句: (6)./widget即可进入界面。下面的操作可以按界面提示操作即可。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |