Username:
Password:
Remember Me?
嵌入式工具Qt的安装和使用
< 上一篇
|
下一篇 >
来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00
Qt是Trolltech公司的一个产品。Trolltech是挪威的一家软件公司,主要研发两种产品:一种是跨平台应用程式界面框架;另外一种就是提供给做嵌入式Linux研发的应用程式平台,能够应用到PDA和各种移动设备上。Qt和Qtopia分别是其中具备代表性的两个。
Qt是个多平台的C++图像用户界面应用程式框架,他能给用户提供精美的图像用户界面所需要的任何元素,而且他是基于一种面向对象的思想,所以用户对其对象的扩展是相当容易的,并且他还支持真正的组件编程。
Qt是Linux桌面环境KDE的基础。笔者认为,能够说Qt和Windows下的Mfc的实质是相同的,所以Qt最大的长处在于其跨平台性,能够支持现有的多种操作系统平台,主要有:
◆ MS/Windows 95、Windows 98、WindowsNT 4.0、Windows 2000、Windows XP;
◆ Unix/X11 Linux、Sun Solaris、HP-UX、Compaq True64Unix、IBM AIX、SGI IRIX和很多其他X11平台;
◆ Macintoshi Mac OSX;
◆ Embedded—带FramBuffer的Linux平台。
下面简单介绍一下Qt/Embedded和Qtopia在Linux上的安装和使用,更有在研发过程中可能碰到的一些问题。
Qt 和Qtopia的安装
假如需要安装一个带FramBuffer的Qtopia平台,需要有以下软件(所列举软件以笔者使用的为例):
◆ Qtopia 1.6.0;
◆ Tmake 1.11;
◆ Qt/Embedded 2.3.4(Qtopia 1.6.0是基于该研发平台上研发的);
◆ Qt/Embedded 2.3.2 for X11;
◆ Qt 3.1.2 for X11。
在Trolltech公司的网站上能够下载该公司所提供的Qt/Embedded的免费版本。
Qtopia平台安装分为以下几个步骤:
1. 解包Qtopia
在Linux命令模式下运行以下命令:
tar xfz qtopia-source-1.6.0 (解包)
cd qtopia-source-1.6.0
export QPEDIR=$PWD
(配置环境变量)
cd..
2. 安装Tmake
在Linux命令模式下运行以下命令:
tar xfz tmake-1.11.tar.gz
export TMAKEDIR=$PWD/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$TMAKEDIR/bin:$PATH
3. 安装Qt/Embedded2.3.4
在Linux命令模式下运行以下命令:
tar xfz qt-embedded-2.3.4-commercial.tar.gz
cd qt-2.3.4
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/
. /configure -qconfig qpe -qvfb -depths 4,8,16,32
make sub-src
cd ..
也能够在configure的参数中添加-system-jpeg和gif,使Qtopia平台能支持jpeg、gif格式的图像。
4. 安装Qt/X11 2.3.2
在Linux命令模式下运行以下命令:
tar xfz qt-x11-2.3.2-commercial.tar.gz
cd qt-2.3.2
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
. /configure -no-opengl
make
make -C tools/qvfb
mv tools/qvfb/qvfb bin
cp bin/uic $QTEDIR/bin
cd ..
根据研发者本身的研发环境,也能够在configure的参数中添加别的参数,比如-no-opengl或-no-xfs,能够键入./configure -help来获得一些帮助信息。
5. 安装Qt/X11 3.1.2
在Linux命令模式下运行以下命令:
tar xfz qt-x11-commercial-3.1.x.tar.gz
cd qt-x11-commercial-3.1.x
export QTDIR=$PWD
export QT3DIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -thread
make
cd ..
6. 安装Qtopia
在Linux命令模式下运行以下命令:
cd qtopia-source-1.6.x
export QTDIR=$QTEDIR
export QPEDIR=$PWD
export PATH=$QPEDIR/bin:$PATH
cd src
./configure
make
cd ../..
7. 安装Qtopia桌面
cd qtopia-source-1.6.x/src
export QTDIR=$QT3DIR
./configure -qtopiadesktop
make
mv qtopiadesktop/bin/qtopiadesktop ../bin
cd ..
Qt和Qt Designer的使用
根据上面的步骤安装完成了Qt/Embedded和Qtopia之后,就能够运行这些程式了。
运行Qt的虚拟仿真窗口:在Linux的图像模式下运行命令qvfb&;Qtopia只是个用Qt/Embedded研发的程式,运行Qtopia,在图像模式下运行命令:
export QTDIR=$QTEDIR,
qpe &;
这样Qtopia的程式就运行在QVFB上,即Qt的虚拟仿真窗口。
Qt/Embedded是针对嵌入式Linux而研发的一种研发工具,Qt封装了一些常用的类,而且这些类的名字都以Q字开头命名,如QString、QDialog等。这里主要介绍一下怎样利用Qt Designer来设计组件,并生成相应的代码。
在Qt中,把组件分为复合体、原始体和配件。而在Qt中,组件是由一些抽象类、复杂的组件类、管理组件几何特性的类等组成。
Qt中有三个主要的基类:QObject、Qapplication和QWidget。
在Qt中编程,利用Signal和Slot进行对象之间的通信是Qt的主要特征。他和Windows中的消息机制很类似,但是Signal和Slot机制真正实现了一种消息的封装。当对象的状态改变时,发出Signal,通知任何的Slot接受Signal,尽管他不知道哪些函数是Slot,Slot一开始也不知道哪些Signal能够接收。Signal和Slot之间不是一一对应的关系,一个Signal能够发给多个Slot, Slot也能够接收多个Signal。Slot除了能够接收Signal以外,和其他的成员函数没有区分。这种机制比使用回调函数要灵活,但是会减慢程式的运行速度。但是在现在高速CPU的面前,这种损失是无足轻重的,而且他还能确保程式的简明性和灵活性,很便利。
在Qt的组件中,不但定义了常用的成员变量和成员函数,还定义了任何和该组件相关的Signal和Slot。
要将组件组合起来,最简单的方法就是使用Qt Designer。首先要启动Qt Designer,在Linux命令模式下,键入以下命令(假设Qt安装在/usr/local下):
cd qt-2.3.2/bin
./designer
这样就能够启动一个和Windows下的Delphi相类似的如图1的界面。
然后新建一个QFrame,将自己需要的组件直接拖拉到这个Frame中,相信很多人都有过这样的经历,此处就不再周详描述了。完成之后存盘时,会将这个新的组件保存为一个扩展名为.ui的文档。假设所存的文档名为test.ui,用vi test.ui来查看这个文档,发现这是个用xml语言写的一个文本。下面用这个test.ui生成相应的test.h和test.cpp。同样还是在这个目录下,能够看到一个uic的工具,这个是Qt专门用来将ui文档生成.h和.cpp文档的,在终端模式下键入以下命令:
./uic -o test.h test.ui
./uic -o test.h -i test.cpp test.ui
此时就能看到生成了相应test.h和test.cpp,这是个类。当然这只是一些表面的东西,还需要在这些代码中添加相应的Signal和Slot,完成所需要的操作。值得注意的是,相应版本生成的ui最好用相应版本的uic来生成代码。假如用Qt 3.1.2的Designer生成的ui,用Qt 2.3.2的uic来生成代码,生成的代码都会是一些空函数。
在一般的研发过程中,首先通过这个ui生成的一个类,在Qt中通常叫做Base,如上面的例子,叫做testBase;然后再新建一个类,来继承这个Base。通常叫做实现类Impl,如testImpl。在这个实现类里面定义所需要的成员函数、Signal和Slot,因为ui可能是经常需要改变的。假如这样做,每次只需要在Designer中修改ui,而不用去理会这些成员函数、Signal和Slot了。
编译一个Qt程式必然需要Makefile,在Qt中提供了一个专门生成Makefile的工具,就是tmake。用tmake需要根据编写的程式写一个.pro文档。.pro文档很简单,有固定的格式,下面是个例子:
TEMPLATE = app
CONFIG
= qtopia warn_on release
MOC_DIR
=tmp
OBJECTS_DIR =tmp
HEADERS
=fcrs.h\
structs.h
globalfunc.h
globalvars.h \
testimpl.h
SOURCES
= main.cpp
globalfunc.cpp
globalvars.cpp \
testimpl.cpp
INTERFACES = test.ui TARGET
= fcrs
生成这个.pro文档之后,在终端中键入下面的命令:
tmake -o Makefile test.pro
就自动生成了一个Makefile,使用这个Makefile编译所编写的程式就能够了。
喜欢本文,那就收藏到:
上一篇:
RHAS2.1下安装中文LotusDominoR6.5图解说明
下一篇:
kernelhacking简单入门
相关评论
我也要评论
还没有关于此文章的相关评论!
首页
上一页
下一页
尾页
昵称:
(为空则显示guest)
评论分数:
★
★ ★
★★★
★★★★
★★★★★
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
相关推荐
xml轻松学习手册(3)xml的术语_xml教程
xml轻松学习手册(4)xml语法_xml教程
xml轻松学习手册(5)xml实例解析_xml教程
了解web页面工具语言xml(一)产生背景_xml教程
了解web页面工具语言xml(二)定义_xml教程
了解web页面工具语言xml(三)支持工具_xml教程
了解web页面工具语言xml(四)应用分类_xml教程
了解web页面工具语言xml(五)好处_xml教程
了解web页面工具语言xml(六)展望_xml教程
xml技术上传文档_xml技巧
相关资讯
perl模拟windows的查找
Perl的程式:mkm3u
MP3在线播放Web服务器的实现
Linux环境下Perl语言对数据库的操纵
IP鉴定子程式
cgi中域名转向的原理
cgi中的邮件发送器
cgi环境变量列表程式
Perl/TkFAQ-12.7怎样改变光标指针的形状和颜色?
Perl教学第三篇操作符
点击发布文章
导航
主页
设为首页
加入收藏
联系我们
赞助商
文章类别
行业资讯
域名资讯
虚拟主机
托管租用
VPS
CDN
网站运营
技术资讯
Mac OS
网络设备
路由技术
网络技术
HTML/DHTML
源码天堂
网络编程
Java
Perl
C/C++
Shell
数据库其他
DB2
Sybase
存储备份
硬件技术
网站建设
通信技术
虚拟化技术
安全其他
安全工具
加密和破解
数据库安全
程序安全
网络安全
系统安全
防火墙
VPN
网管技术其他
Informix
Oracle
PostgreSQL
Dreamweaver教程
windows操作系统
XML编程
NET编程
JSP编程
PHP编程
ASP编程
Mssql
Mysql
Access
Coreldraw
flash
web服务器
ftp服务器
mail服务器
邮件系统
IBM-AIX
HP-UX
Sco
Solaris
FreeBSD
Linux
Proxy
CSS教程
Javascript教程
Ajax
dns服务器
Photoshop教程
站长资讯
冲浪宝典
帮助中心
首页新闻
其它相关问题
安全漏洞相关问题
网站推广相关问题
虚拟主机相关问题
网站建设相关问题
服务器相关问题
备案相关问题
支付相关问题
后台操作指南
代理相关问题
邮件相关问题
域名相关问题
vps相关问题
行业资讯
名网动态
新手指南
代理帮助
订阅
Rss Feed
主机赞助商连接:
华夏名网虚拟主机域名注册
关于我们 | 网站声明 | 联系我们 | 广告服务 IDC中文资讯站-客观公证的IDC产业权威媒体
Copyright
@
2007-2008 IDCNEWS.NET, All Rights Reserved
蜀ICP备07504800号