qt基础

来源:互联网 发布:手机用什么网络加速器 编辑:程序博客网 时间:2024/05/16 12:41
进入Qt领域有一个来月的时间了,现在对Qt的开发系统已有所了解,并完成了一些小的工作,现陆续将学习中的一些经验总结出来,以备日后参考,也希望给Qt的初学者带来些许帮助。
    以下是基础篇。
 
一:Qt和Qtopia
    Qt是一些包含了源码的Linux图形界面开发包,可以在它上面开发Linux
下的图形界面程序,它分为qt/embedded和qt/x11两个版本的类库,qt/embedded
基于framebuffer机制来实现图形引擎,qt/x11基于Xwindow的C/S结构和X lib实
现图形引擎,这两个版本尽管底层的实现有一些细微的差别,但类的声明及方法
函数相同,对于编写Qt应用程序的开发者来说,几乎不需要关心这些区别。
    Qtopia是嵌入式linux的应用程序平台和用户界面,个人认为也可以把它看作一套完整的
嵌入式应用程序管理系统,对基于Qt的应用程序的移植有自己的框架和方式。它建
立在Qt/Embedded之上,必须运行在基于framebuffer机制的环境中,并且要有Qt/Embedded
库的支持。
    Qtopia的编译分为在PC机上qvfb环境下运行的版本和PDA设备上下载运行
的版本,PC机上qvfb环境下运行的版本使用基于x86处理器的编译器;在PDA
设备上下载的版本使用基于Arm处理器的交叉编译器。qvfb实际上是在PC机上
虚拟了一个基于framebuffer机制的嵌入式环境,这样可以方便嵌入式程序的
试验。但是将程序试验好后移植到嵌入式平台上还需要进行交叉编译。
    用本人接触到的一个嵌入式系统来解说Qt和Qtopia在嵌入式环境中的位置如下:
底层硬件--〉驱动程序--〉Btooloader--〉Linux系统--〉文件系统--〉Qt/Embedded库
--〉Qtopia(图形界面)-->图形应用程序
 
二:Qt开发环境
    Qt程序以及其他所有linux下的程序的设计一个重要的前期工作就是设置好开发环境,
Qt应用程序的开发需要有:Qt/Embedded或Qt/X11,Makefile生成工具tmake (也可以用Qt
自带的qmake工具),此外还可以配合快速开发工具Qt Designer来设计Qt的图形界面及国际
化工具Qt Linguist,当然还需要必要的程序编辑工具如EditPlus等.
    Qt程序的编译前要设置好环境变量,用脚本描述主要有:
export QTDIR=/....    #指向Qt包的路径
export TMAKEDIR=/...  #指向Makefile生成工具tmake的目录路径
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++ #假设做交叉编译
export PATH=$PATH:/$QTDIR/bin  #将Qt中的命令加入到系统命令中
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/$QTDIR/lib   #将Qt的库加入系统库
此外如果是做的是交叉编译还要有一个交叉编译的编译工具arm-linux-g++可以从网上下载,下载安装后同样要把它的路径加入到PATH中,以本人的为例应使用如下命令:
export PATH=$PATH:/usr/local/arm/3.3.2/bin
编译过程中可能还会遇到许多问题,而很多都与环境变量的设置有关,需要认真研究错误
提示并做好总结。
原创粉丝点击