Qt第一印象——Qte与Qt

类别:软件工程 点击:0 评论:0 推荐:

Qte即Qt/embedded,它是Qt的一个版本,要知道,它可不是其他版本(Qt/X11,Qt/mac)的子集,恰相反,Qte比他们包括更大的类库,可以说是他们的扩展。
刚开始,我对Qte很模糊,搞不清楚它的开发模式,和在Qt家族中所处的地位,经过同事的帮助,总算看到了一点起色。

Qt与Qte具有不同的文档:
第一眼了解Qte是在Qt/X11的帮助文档里,还不是首页链接,而是隐藏在Overviews——All Overviews and HOWTOs;看到它,我就觉得Qte就隐藏在Qt的里面,要不为什么把Qte的文档作为Qt文档的一部分来讲呢?
其实不然,Qte与Qt从:源代码包、安装包、配置方式、编译方式、程序运行都是不同的,几乎可以用“并行的铁轨”来形容。

<1>源代码包(解压后都叫做:qt-ver,就分不出Qt还是Qte了,呵呵):
Qt:qt-x11-commercial-ver.tar.gz 
Qte:qt-embedded-ver-commercial.tar.gz 

<2>配置参数(以后的每次运行application,都要更改它,有点烦):
export QTDIR = ……
export LD_LIBRARY_PATH = ……

<3>配置、编译
首先,需要明确一个概念:Qte不像VxWorks,有Tornado,后期选择目标(Target)平台来编译,可以选择交叉编译方式。
Qte没有,至少没有用于编译、调试的IDE,只有一个Designer,仅仅能拖些控件,快速生成ui文件,然后ui->cpp文件转换。
Qte许多事情要在 configure 时期搞定,
也就是说:每次编译选项(目标平台、发布版/调试版、包含哪些模块支持……)更改,就有面临重新编译整个Qte的工作,而这些在 VxWorks中是不需要的(我的意思是,你不需要重新安装 VxWorks和Tornado),只有在Tornado中用鼠标点一点就可以了。
OK!正题:
Qt与Qte都可以: ./configure 
                                make
但要知道Qte必要的时候需要配置参数,Qte的configure参数有很多,典型的有:
-release/-debug
-shared/-static
-no-<module>:module包括:opengl,table,network,canvas;
-no-xft/-xft:是否支持Anti-Aliased字体,该字体需要xft扩展库;
-plateform <target>:指定宿主(Host)平台(这里的target只是平台名字,不是 Host-Target中的目标平台);
-xplateform <target>:指定目标(Target)平台;
                 target包括:linux-generic-g++ / linux-x86-g++ / linux-arm-g++ / linux-mips-g++
-qvfb:Qte特有的参数之一,默认是支持的。

<4>编译Tools
再明确一个概念:Qt这个时候就可以写自己的Hello World了,但对Qte还缺少一个东西:qvfb——Qt的avfb。
qvfb:是Qt的tools之一,也是Qte的tools之一。
编译Qt版qvfb:进入 $QTDIR/Tools/qvfb/ ; ./configure ; make
如果出现有关“-lqt-mt”库的错误,说明以前曾经安装过其他Qt,产生影响,进入Makefile,修改 “-lqt-mt” 为 “-lqt”
编译Qte版qvfb:进入 $QTDIR/Tools/qvfb/ ; ./configure ; make
如果出现有关“-lqt-mt”库的错误,说明以前曾经安装过其他Qt,产生影响,进入Makefile,修改 “-lqt-mt” 为 “-lqte”
当然,对于运行Qt/embedded 的application你不必编译Qt/embedded 中的qvfb。

<5>运行 application
不提Qt,只说Qte;
首先启动Qt(注意不是Qte)的qvfb : QtDir/tools/qvfb/qvfb
然后运行Qte程序: QteDir/examples/***/*** -qws

令人捧腹的是,你可以在Qt的qvfb中,启动Qte的qvfb。

本文地址:http://com.8s8s.com/it/it33084.htm