QT完全手册Word文档格式.docx

上传人:b****3 文档编号:8223256 上传时间:2023-05-10 格式:DOCX 页数:34 大小:41.54KB
下载 相关 举报
QT完全手册Word文档格式.docx_第1页
第1页 / 共34页
QT完全手册Word文档格式.docx_第2页
第2页 / 共34页
QT完全手册Word文档格式.docx_第3页
第3页 / 共34页
QT完全手册Word文档格式.docx_第4页
第4页 / 共34页
QT完全手册Word文档格式.docx_第5页
第5页 / 共34页
QT完全手册Word文档格式.docx_第6页
第6页 / 共34页
QT完全手册Word文档格式.docx_第7页
第7页 / 共34页
QT完全手册Word文档格式.docx_第8页
第8页 / 共34页
QT完全手册Word文档格式.docx_第9页
第9页 / 共34页
QT完全手册Word文档格式.docx_第10页
第10页 / 共34页
QT完全手册Word文档格式.docx_第11页
第11页 / 共34页
QT完全手册Word文档格式.docx_第12页
第12页 / 共34页
QT完全手册Word文档格式.docx_第13页
第13页 / 共34页
QT完全手册Word文档格式.docx_第14页
第14页 / 共34页
QT完全手册Word文档格式.docx_第15页
第15页 / 共34页
QT完全手册Word文档格式.docx_第16页
第16页 / 共34页
QT完全手册Word文档格式.docx_第17页
第17页 / 共34页
QT完全手册Word文档格式.docx_第18页
第18页 / 共34页
QT完全手册Word文档格式.docx_第19页
第19页 / 共34页
QT完全手册Word文档格式.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

QT完全手册Word文档格式.docx

《QT完全手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《QT完全手册Word文档格式.docx(34页珍藏版)》请在冰点文库上搜索。

QT完全手册Word文档格式.docx

6.0;

◆Tmake1.11;

◆Qt/Embedded2.3。

4(Qtopia1.6。

0是基于该开发平台上开发的);

◆Qt/Embedded2。

3.2forX11;

◆Qt3。

1.2forX11。

在Trolltech公司的网站上可以下载该公司所提供的Qt/Embedded的免费版本.

Qtopia平台安装分为以下几个步骤:

1.解包Qtopia

在Linux命令模式下运行以下命令:

tarxfzqtopia—source-1.6。

0(解包)

cdqtopia-source—1.6.0

exportQPEDIR=$PWD(设置环境变量)

cd。

2。

安装Tmake

tarxfztmake—1。

11.tar。

gz

exportTMAKEDIR=$PWD/tmake-1.11

exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++

exportPATH=$TMAKEDIR/bin:

$PATH

3。

安装Qt/Embedded2.3.4

在Linux命令模式下运行以下命令:

tarxfzqt—embedded-2.3.4—commercial。

tar。

cdqt-2。

4

exportQTDIR=$PWD

exportQTEDIR=$QTDIR

exportPATH=$QTDIR/bin:

exportLD_LIBRARY_PATH=$QTDIR/lib:

$LD_LIBRARY_PATH

cp$QPEDIR/src/qt/qconfig—qpe.hsrc/tools/

./configure-qconfigqpe-qvfb—depths4,8,16,32

makesub—src

cd..

也可以在configure的参数中添加-system-jpeg和gif,使Qtopia平台能支持jpeg、gif格式的图形。

4.安装Qt/X112.3.2

tarxfzqt—x11—2。

3.2-commercial。

cdqt-2.3.2

exportQTDIR=$PWD

exportLD_LIBRARY_PATH=$QTDIR/lib:

./configure-no-opengl

make

make—Ctools/qvfb

mvtools/qvfb/qvfbbin

cpbin/uic$QTEDIR/bin

cd。

.

根据开发者本身的开发环境,也可以在configure的参数中添加别的参数,比如—no-opengl或-no-xfs,可以键入。

/configure—help来获得一些帮助信息.

5。

安装Qt/X113.1。

2

tarxfzqt-x11-commercial—3.1。

x.tar。

cdqt-x11-commercial—3.1.x

exportQT3DIR=$QTDIR

$PATH

$LD_LIBRARY_PATH

./configure—thread

cd.。

6.安装Qtopia

cdqtopia—source—1.6.x

exportQTDIR=$QTEDIR

exportQPEDIR=$PWD

exportPATH=$QPEDIR/bin:

cdsrc

/configure

/。

7.安装Qtopia桌面

cdqtopia-source—1。

6.x/src

exportQTDIR=$QT3DIR

./configure—qtopiadesktop

mvqtopiadesktop/bin/qtopiadesktop。

./bin

Qt和QtDesigner的使用

根据上面的步骤安装完成了Qt/Embedded和Qtopia之后,就可以运行这些程序了.

运行Qt的虚拟仿真窗口:

在Linux的图形模式下运行命令qvfb&

Qtopia只是一个用Qt/Embedded开发的程序,运行Qtopia,在图形模式下运行命令:

exportQTDIR=$QTEDIR,

qpe&;

这样Qtopia的程序就运行在QVFB上,即Qt的虚拟仿真窗口。

Qt/Embedded是针对嵌入式Linux而开发的一种开发工具,Qt封装了一些常用的类,而且这些类的名字都以Q字开头命名,如QString、QDialog等。

这里主要介绍一下如何利用QtDesigner来设计组件,并生成相应的代码。

在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。

要将组件组合起来,最简单的方法就是使用QtDesigner.首先要启动QtDesigner,在Linux命令模式下,键入以下命令(假设Qt安装在/usr/local下):

cdqt—2。

2/bin

./designer

这样就可以启动一个与Windows下的Delphi相类似的如图1的界面.

然后新建一个QFrame,将自己需要的组件直接拖拉到这个Frame中,相信很多人都有过这样的经历,此处就不再详细描述了。

完成之后存盘时,会将这个新的组件保存为一个扩展名为.ui的文件.假设所存的文件名为test。

ui,用vitest。

ui来查看这个文件,发现这是一个用xml语言写的一个文本.下面用这个test。

ui生成相应的test。

h和test。

cpp.同样还是在这个目录下,可以看到一个uic的工具,这个是Qt专门用来将ui文件生成.h和。

cpp文件的,在终端模式下键入以下命令:

/uic—otest.htest。

ui

./uic-otest.h-itest.cpptest。

此时就能看到生成了相应test。

cpp,这是一个类。

当然这只是一些表面的东西,还需要在这些代码中添加相应的Signal和Slot,完成所需要的操作.值得注意的是,相应版本生成的ui最好用相应版本的uic来生成代码。

如果用Qt3.1。

2的Designer生成的ui,用Qt2。

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=qtopiawarn_onrelease

MOC_DIR=tmp

OBJECTS_DIR=tmp

HEADERS=fcrs。

h\

structs.h\

globalfunc.h\

globalvars。

h\

testimpl.h

SOURCES=main。

cpp\

globalfunc。

cpp\

cpp\

testimpl。

cpp

INTERFACES=test.ui\

TARGET=fcrs

生成这个。

pro文件之后,在终端中键入下面的命令:

tmake—oMakefiletest。

pro

就自动生成了一个Makefile,使用这个Makefile编译所编写的程序就可以了。

Qt/Embedded开发环境建立的过程

—-—--—--——-——---——----——-------———-—--————----—————-—--—-—--————-——-—-—-—-—-—-—-

Qt/Embedded开发环境建立的过程:

(这些软件可以免费从trolltech的WEB或FTP服务器上下载)

◆tmake1.11或更高版本;

(生成Qt/Embedded应用工程的Makefile文件)

7(Qt/Embedded安装包)

◆Qt2。

2forX11;

(Qt的X11版的安装包,它将产生x11开发环境所需要的两个工具)

1、安装tmake

在Linux命令模式下运行以下命令:

tarxfztmake-1。

exportTMAKEDIR=$PWD/tmake-1。

11

exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++

exportPATH=$TMAKEDIR/bin:

安装Qt/Embedded2。

3.7

tarxfzqt—embedded-2。

7.tar.gz

cdqt-2.3.7

exportPATH=$QTDIR/bin:

exportLD_LIBRARY_PATH=$QTDIR/lib:

/configure—qconfig-qvfb—depths4,8,16,32

上述命令./configure-qconfig—qvfb-depths4,8,16,32指定Qt嵌入式开发包生

成虚拟缓冲帧工具qvfb,并支持4,8,16,32位的显示颜色深度.另外我们也可以在

configure的参数中添加-system-jpeg和gif,使Qt/Embedded平台能支持jpeg、gif

格式的图形。

上述命令makesub—src指定按精简方式编译开发包,也就是说有些Qt类未被编

译。

Qt嵌入式开发包有5种编译范围的选项,使用这些选项,可控制Qt生成的库文件的大

小,但是您的应用所使用到的一些Qt类将可能因此在Qt的库中找不到链接.编译选项的具

体用法可运行。

/configure-help命令查看。

3.安装Qt/X112.3.2

在Linux命令模式下运行以下命令:

tarxfzqt-x11—2.3.2.tar。

./configure-no—opengl

根据开发者本身的开发环境,也可以在configure的参数中添加别的参数,比如

—no-opengl或—no—xfs,可以键入./configure-help来获得一些帮助信息。

如果Qt/Embedded的应用是在UNIX平台下开发的话,那么它就可以在开发的机器

上以一个独立的控制台或者虚拟缓冲帧的方式来运行,对于后者来说,其实是有一个X11

的应用程序虚拟了一个缓冲帧.通过指定显示设备的宽度,高度和颜色深度,虚拟出来

的缓冲帧将和物理的显示设备在每个像素上保持一致.这样每次调试应用时开发人员就

不用总是刷新嵌入式设备的FLASH存储空间,从而加速了应用的编译、链接和运行周期.

运行Qt的虚拟缓冲帧工具的方法是:

在Linux的图形模式下运行命令:

qvfb(回车)

当Qt嵌入式的应用程序要把显示结果输出到虚拟缓冲帧时,我们在命令行运行这

个程序时,在程序名后加上-qws的选项。

例如:

$〉hello-qws

一,QT/E的安装.

在本机中安装了包括QT4。

0。

1(WINDOWS版本)以及QT/E2。

7(LINUX版本)。

QT/E我安装在我的虚拟机中。

因为QT/E2.3.7的版本问题,其适宜在REDHAT9.0版本(或更低版本)下安装,否则安装不成功。

QT/E安装过程复杂,具体细节可以参考下面这篇文章。

《Qt/Embedded开发环境建立的过程》

此文在网上可搜索到.

本机下虚拟机中QT/E安装路径为:

/home/wangxl/QTE/qt—2.3。

7

QT/X11安装路径为:

/home/wangxl/QTE/qt-2.3.2

Tmake安装路径为:

/home/wangxl/QTE/Tmake—1.8

QT/E下载地址为:

ftp:

//ftp。

rediris.es/mirror/Qt/source/

Tmake下载地址为:

trolltech。

com/freebies/tmake/

二.QT与QT/E以及QT3与QT4之间的区别

相对来说QT与QT/E的语法一样,所不同之处在库类大小或者库类函数大小不同而已。

QT/E相对于QT来说,不具有少数类或者少数函数的支持.具体QT/E是否包含某个类或者包含某个类中的函数,我的方法是在QT/E安装目录下的include文件夹中去查找.

QT3和QT4有很多不同点,主要不同也是在于库类以及支持函数有所变化,比如,有些QT3中的函数,在QT4中被其他函数名所代替,因此很多QT4程序在QT3环境下无法执行。

QT/E2。

3.7与QT3基本相同,除了我前面提到的QT与QT/E的差别.

三.QT/E编译与执行。

1.在QT/E编译与执行前要先设置TMAKE与QT/ELIB环境,具体方法如下:

[root@localhosttmake-1。

8]#exportTMAKEDIR=$PWD

[root@localhosttmake-1.8]#exportTMAKEPATH=$TMAKEDIR/lib/qws/linux—x86—g++

[root@localhosttmake-1。

8]#exportPATH=$TMAKEDIR/bin:

[root@localhostqt-2。

3.7]#exportQTDIR=$PWD

[root@localhostqt—2.3.7]#exportQTEDIR=$QTDIR

[root@localhostqt-2.3。

7]#exportPATH=$QTDIR/bin:

7]#exportLD_LIBRARY_PATH=$QTDIR/lib:

2.如果你是用DESIGNER工具设计的界面(后面有讲),则要将*.ui文件转换成*。

h文件和*.cpp文件。

转换方法如下:

uic–otest.htest.ui

uic–otest.cpp–itest。

htest。

3.编写一个*。

pro文件(用来生成Makefile文件用),该文件格式比较固定。

如test。

pro文件基本格式如下(以test.cpp,test.hmain.cpp为例子):

EMPLATE=app

CONFIG+=qtwarn_onrelease

HEADERS=test.h

SOURCES=test.cpp\

main.cpp

TARGET=hello

DEPENDPATH=/home/wangxl/QTE/qt—2。

7/include

REQUIRES=

4.生成Makefile文件

方法为:

tmake–oMakefiletest。

5编译生成可执行文件

6打开QVFB

进入安装QT/X11所在目录,在BIN目录下执行程序qvfb.

有时候需要修改qvfb执行时的deptb参数才能够执行QT/E程序.可以直接在QVFB打开窗口的Configure彩单项中选择,也可以用如下命令执行QVFB。

/qvfb–width**-height**-depth**

7.执行QT/E程序

如./TEST

在QVFB程序打开的窗口中将出现TEST程序的显示.

四.Qt/e与QT/X11

安装QT/E的同时还需要安装QT/X11与Tmake,Tmake是用来帮助生成Makefile文件的.安装QT/X11主要是向QT/E提供designer工具和qvfb工具的.

Designer可以用来设计图形界面,最后生成.ui文件,可通过UIC命令转换为相应的C++文件。

QVFB模拟帧缓冲,提供QT/E程序的显示平台.

五.QT/E程序ARM板上执行

在我虚拟机上可以执行的QT/E程序不能在ARM板上执行,需要对QT/E进行重新编译,并需要设置响对于ARM板系统的编译环境,具体方法可以参考我另外的一文《QT/E开发记录》

六.QT/E支持中文显示问题

QT/E需要字体转换才能显示中文。

具体方法可以参考我另外的一文《QT/E开发记录》

但是由于缺少UNICODE的QPF文件的字体,中文字大小不均匀问题尚没解决。

七QT/E的一些参考资料:

//www。

qtcn.org/bbs/index。

phpQT中文论坛

//www.qiliang。

net/qt/(关于QT3的类,以及类函数可以在这寻找)

提供QT3编程最好书籍的电子版本《C++GUIProgrammingwithQT3》(本机)

关于QT4可以参考QTASSISTNAT(本机中),另外QTASSISTNAT中也可以查找QT3的类及库等。

设置Qtopia的build环境

1、环境变量

在目标系统上buildQtopia必须设定必要的环境变量,如QTDIR,如果依赖多个版本的Qt,则需要用环境变量指向用到的库配置。

一种方法是将环境变量的设定写入文件,通过运行source命令应用文件的内容。

举例说明:

Linux/bash下建立环境变量设定文件qtopia.sh,内容如下:

exportQPEDIR=/opt/Qtopia

exportQTDIR=/opt/Qtopia

exportTMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux—generic—g++

$LD_LIBRARY

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2