收藏 分享(赏)

QT开发手册.doc

上传人:weiwoduzun 文档编号:3555448 上传时间:2018-11-13 格式:DOC 页数:116 大小:1.65MB
下载 相关 举报
QT开发手册.doc_第1页
第1页 / 共116页
QT开发手册.doc_第2页
第2页 / 共116页
QT开发手册.doc_第3页
第3页 / 共116页
QT开发手册.doc_第4页
第4页 / 共116页
QT开发手册.doc_第5页
第5页 / 共116页
点击查看更多>>
资源描述

1、目 录第一章 LINUX 图形用户界面 GUI 介绍 .11.1 常用 GUI 介绍 .11.2 关于 Qt.21.3 Qt/Embedded 简介 .41.4 Qtopia 介绍 .4第二章 QT 的安装 62.1 Qt X11 的安装 62.2 Qt/Embedded 安装 92.3 Qtopia 编译 . 11第三章 QT 的编程 12实验一实验二实验三实验四实验五实验六实验七实验八实验九实验十“Hello word! ”Qt 初探 12创建一个窗口并添加按钮 .17对象间通信: Signal 和 Slot 机制 20菜单和快捷键 .29工具条和状态栏 .38鼠标和键盘事件 .48对话框

2、 .63Qt 中的绘图 75Qt 中的多线程编程 85Qt 中的网络编程 97第四章 QT 常用工具的介绍 1114.1 Qt 设计器( Qt Designer) 1114.2 Tmake 1134.3 Qvfb 114嵌入式系统教学平台实验教材第一章 Linux 图形用户界面 GUI 介绍所谓 GUI(Graphics User Interface),就是图形用户界面。图形用户界面的广泛流行是当今计算机技术的重大成就之一,它极大地方便了非专业用户的使用,人们不再需要死记硬背大量的命令,而可以通过窗口、菜单方便地操作。它的主要特征有三点:WIMP。其中, W( Windows)指窗口,是用户或

3、系统的一个工作区域。一个屏幕上可以有多个窗口。 I( Icons)指图图标,是形象化的图形标志,易于人们隐喻和理解。 M( Menu)指菜单,可供用户选择的功能提示。 P( Pointing Devices)指鼠标等,便于用户直接对屏幕对象进行操作。用户模型。 GUI 采用了不少 Desktop 桌面办公的隐喻,让使用者共享一个直观的界面框架。由于人们熟悉办公桌的情况,因而对计算机显示的图标的含义容易理解,诸如:文件夹、收件箱、画笔、工作簿、钥匙及时钟等。直接操作。过去的界面不仅需要记忆大量命令,而且需要指定操作对象的位置,如行号、空格数、 X 及 Y 的坐标等。采用 GUI 后,用户可直接对

4、屏幕上的对象进行操作,如拖动、删除、插入以及放大和旋转等。用户执行操作后,屏幕能立即给出反馈信息或结果,称为所见即所得( What You See Is What You Get,WYSIWYG)。用视、点(鼠标)代替了记、击(键盘),给用户带来了方便。通常所见的 GUI 都是位于 PC 机上的,但是在 PC 上 GUI 并不适合嵌入式系统。嵌入式设备有严格的资源要求(比如十分有限的存储空间)。同时嵌入式系统经常有一些特殊的要求,而普通的 PC 上的图形窗口系统是不能满足这些要求的。比如特殊的外观效果,控制提供给用户的函数,提高装载速度,特殊的低层图形或输入设备。因此可见嵌入式系统必定要有自己

5、的 GUI。综上所述,嵌入式 GUI 就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统。所以嵌入式 GUI 不但要具有以上有关 GUI 的特征,而且在实际应用中,嵌入式系统对它来说还有如下的基本要求:轻型,占用源少;高性能;高可靠性;可配置。下面我们就目前市场上常用的嵌入式 GUI 做一个简单的介绍。1.1 常用 GUI 介绍1 MiniGUI由北京飞漫软件技术有限公司开发的 MiniGUI(http:/www.minigui.org),是国内为数不多的几大国际知名自由软件之一。 MiniGUI 是面向实时嵌入式系统的轻量级图形用户界面支持系统, 1999 年初遵循 GPL 条

6、款发布第一个版本以来,已广泛应用于手持信息终端、机顶盒、工业控制系统及工业仪表、彩票机、金融终端等产品和领域。目前, MiniGUI 已成为跨操作系统的图形用户界面支持系统,可在 Linux/uClinux、 eCos、 uC/OS-II、 VxWorks、等 操 作 系 统 上 运 行 ; 已 验 证 的 硬 件 平 台 包 括 Intel x86 、 ARM ( ARM7/AMR9/StrongARM/xScale)、 PowerPC、 MIPS、 M68K( DragonBall/ColdFire)等等。MiniGUI 良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。在设计之-

7、 1 -嵌入式系统教学平台实验教材初,就充分考虑到了实时嵌入式系统的特点,针对多窗口环境下的图形绘制开展了大量的研究及开发,优化了 MiniGUI 的图形绘制性能及资源占有。 MiniGUI 在大量实际系统中的应用,尤其在工业控制系统的应用,证明 MiniGUI 具有非常好的性能。2 MicroWindowsMicroWindows( http:/)是一个开放源码的项目,目前由美国 Century Software 公司主持开发。该项目的开发一度非常活跃,国内也有人参与了其中的开发,并编写了 GB2312 等字符集的支持。但在 Qt/Embedded 发布以来,该项目变得不太活跃,并长时间停留

8、在 0.89Pre7 版本。可以说,以开放源码形势发展的 MicroWindows项目,基本停滞。MicroWindows 是一个基于典型客户 /服务器体系结构的 GUI 系统,基本分为三层。最底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,并进行窗口管理;最高层分别提供兼容于 X Window 和 Windows CE( Win32 子集)的 API。该项目的主要特色在于提供了类似 X 的客户 /服务器体系结构,并提供了相对完善的图形功能,包括一些高级的功能,比如 Alpha 混合,三维支持, TrueType 字体支持等。MicroWindows 采用 MP

9、L( mozilla public license)条款发布。3 DinXDinX 非常适合于在很小的系统上运行多窗口程序,它简单、轻巧,并且快速。 DinX并不是 X,它使用 Linux 核心的 framebuffer 视频驱动,采用 Client/Server 模式。为此,系统提供了两个界面: /dev/dinxsvr 和 /dev/dinxwin。一个服务器程序连接到 /dev/dinxsvr,并决定来自各程序窗口的 request 各占有视屏的各个 部 分 。 它 也 负 责 给 各 窗 口 发 送 像 鼠 标 移 动 这 样 的 事 件 消 息 。 Clinet 程 序 连 接 到/

10、dev/dinxwin,与 Server 进行消息通信等。 Server 进程还负责处理事件、窗口管理、调色板配置等功能。 DinX 是一个实验性的窗口系统,它处在发展阶段中,还存在一些缺陷和问题。DinX 的 license 属于 MPL,也可以转化为 GPL。这样, DinX 核心模块可以集成到 Linux中, DinX 库可以链接到其他的 GPL 程序中。4 OpenGUIOpenGUI( http:/www.tutok.sk/fastgl/)在 Linux 系统上存在已经很长时间了。最初的名字叫 FastGL,只支持 256 色的线性显存模式,但目前也支持其他显示模式,并且支持多种操作

11、系统平台,比如 MS-DOS、 QNX 和 Linux 等等,不过目前只支持 x86 硬件平台。OpenGUI 也分为三层。最低层是由汇编编写的快速图形引擎;中间层提供了图形绘制 API,包括线条、矩形、圆弧等,并且兼容于 Borland 的 BGI API。第三层用 C+编写,提供了完整的 GUI 对象集。OpenGUI 采用 LGPL 条款发布。 OpenGUI 比较适合于基于 x86 平台的实时系统,可移植性稍差,目前的发展也基本停滞。5 Qt/EmbeddedQt/Embedded 是著名的 Qt 库开放商正在进行的面向嵌入式系统的 Qt 版本。这个版本的主要特点是可移植性较好,许多基

12、于 Qt 的 X Window 程序可以非常方便地移植到嵌入式版本。在下面我们将会详细介绍。1.2 关于 QtQt是一个跨平台的 C+ 图形用户界面库,由挪威 TrollTech公司出品,它的目的是提供开发应用程序用户界面部分所需要的一切,主要通过汇集 C类的形式来实现这一目的。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。 Qt是完全面向对象的- 2 -嵌入式系统教学平台实验教材很容易扩展,并且允许真正地组件编程。Qt是 Trolltech公司的一个标志性产品。 Trolltech 公司 1994年成立于挪威,但是公司的核心开发团队已经在 1992 年开始了 Qt产品的研发,

13、并于 1995年推出了 Qt的第一个商业版,直到现在 Qt已经被世界各地的跨平台软件开发人员使用,而 Qt的功能也得到了不断的完善和提高。Qt 是一个支持多操作系统平台的应用程序开发框架,它的开发语言是 C+。 Qt 最初主要是为跨平台的软件开发者提供统一的,精美的图形用户编程接口,但是现在它也提供了统一的网络和数据库操作的编程接口。正如微软当年为操作系统提供了友好,精致的用户界面一样,今天由于 Trolltech 的跨平台开发框架 Qt 的出现,也使得 UNIX、 LINUX 这些操作系统以更加方便、精美的人机界面走近普通用户。Qt 是以工具开发包的形式提供给开发者的,这些工具开发包包括了图

14、形设计器,字体国际化工具, Makefile 制作工具, Qt 的 C+类库等等;谈到 C+的类库我们自然会想到MFC,是的, Qt 的类库也是等价于 MFC 的开发库,但是 Qt 的类库是支持跨平台的类库,也就是说 Qt 类库封装了适应不同操作系统的访问细节,这正是 Qt 的魅力所在。目前 Qt 系列的软件主要包括 Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具Qt Designer,国际化工具 Qt Linguist 等部分 。Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员就已经开始设计 Qt

15、了, Qt 的第一个商业版本于 1995 年推出然后 Qt 的发展就很快了,下面是 Qt 发展史上的一 些里程碑 :1996 Oct KDE 组织成立1998 Apr 05 Trolltech 的程序员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上1998 Apr 08 KDE Free Qt 基金会成立1998 Jul 09 Qt 1.40 发布1998 Jul 12 KDE 1.0 发布1999 Mar 04 QPL 1.0 发布1999 Mar 12 Qt 1.44 发布1999 Jun 25 Qt 2.0 发布1999 Sep 13 KDE 1.1.2 发布

16、2000 Mar 20 嵌入式 Qt 发布2000 Sep 06 Qt 2.2 发布2000 Oct 05 Qt 2.2.1 发布2000 Oct 30 Qt/Embedded 开始使用 GPL 宣言2000 Sep 04 Qt free edition 开始使用 GPL基本上, Qt 同 X Window 上的 Motif, Openwin, GTK 等图形界面库和 Windows 平台上的 MFC, OWL, VCL, ATL 是同类型的东西,但是 Qt 具有下列优点 :优良的跨平台特性 : Qt 支持下列操作系统 : Microsoft Windows 95/98, MicrosoftW

17、indows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64),Irix, FreeBSD, BSD/OS, SCO, AIX, OS390, QNX 等等;面向对象: Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单;丰 富 的 API : Qt 包 括 多 达 250 个 以 上 的 C+ 类 , 还 提 供 基 于 模 板 的collec

18、tions, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能;- 3 -嵌入式系统教学平台实验教材支持 2D/3D 图形渲染,支持 OpenGL;大量的开发文档;XML 支持;1.3 Qt/Embedded 简介Qt/Embedded 是一个为嵌入式设备上的图形用户接口和应用开发而订做的 C工具开发包 . 它通常可以运行在多种不同的处理器上部署的嵌入式 Linux操作系统上。如果不考虑 X窗口系统的需要,居于 Qt/Embedded 的应用程序可以直接对缓冲帧进行写操作。除了类

19、库以外, Qt/Embedded还包括了几个提高开发速度的工具,使用标准的 Qt API,我们可以非常熟练的在 Windows和 Unix编程环境里开发应用程序。Qt/Embedded 是 一 组 用 于 访 问 嵌 入 式 设 备 的 Qt C+ API ; Qt/Embedded 的Qt/X11,Qt/Windows 和 Qt/Mac版本提供的都是相同的 API和工具。 Qt/Embedded还包括类库以及支持嵌入式开发的工具。Qt/Embedded提供了一种类型安全的被称之为信号与插槽的真正的组件化编程机制,这种机制和以前的回调函数有所不同。 Qt/Embedded还提供了一个通用的 w

20、idgets类,这个类可以很容易的被子类化为客户自己的组件或是对话框。针对一些通用的任务, Qt还预先为客户定制了像消息框和向导这样的对话框。运行 Qt/Embedded 所需的系统资源可以很小,相对 X窗口下的嵌入解决方案而言,Qt/Embedded只要求一个较小的存储空间( Flash)和内存。 Qt/Embedded可以运行在不同的处理器上部署的 Linux系统,只要这个系统有一个线性地址的缓冲帧并支持 C的编译器。你可以选择不编译 Qt/Embedded某些你不需要的功能,从而大大减小了它的内存占有量。Qt/Embedded包括了它自身的窗口系统,并支持多种不同的输入设备。开发者可以使

21、用他们熟悉的开发环境来编写代码。 Qt的图形设计器 (designer)可以用来可视化地设计用户接口,设计器中有一个布局系统,它可以使你设计的窗口和组件自动根据屏幕空间的大小而改变布局。开发者可以选择一个预定义的视觉风格,或是建立自已独特的视觉风格。使用 UNIX/LINUX操作系统的用户,可以在工作站上通过一个虚拟缓冲帧的应用程序仿真嵌入式系统的显示终端。Qt/Embedded也提供了许多特定用途的非图形组件,例如国际化,网络和数据库交互组件。Qt/Embedded是成熟可靠的工具开发包,它在世界各地被广泛使用。除了在商业上的许多应用以外, Qt/Embedded还是为小型设备提供的 Qto

22、pia应用环境的基础。 Qt/Embedded以简洁的系统,可视化的表单设计和详致的 API让编写代码变得愉快和舒畅。1.4 Qtopia 介绍Qtopia 是 Trolltech 为采用嵌入式 Linux 操作系统的消费电子设备而开发的综合应用平台 , Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。Qtopia的特性如下表所示:- 4 -窗口操作系统 游戏和多媒体 工作辅助应用程序同步框架 PIM应用程序 Internet应用程序开发环境 输入法 Java集成本地化支持 个性化选项 无线支持嵌入式系统教学平台实验教材Trolltech 提供三大 Q

23、topia 版本: Qtopia 手机版、 Qtopia PDA 版和 Qtopia 消费电子产品平台:Qtopia 手机版 :Trolltech 面向嵌入式 Linux 的 Qtopia 手机版 (Qtopia Phone) 是 Qtopia的一个自定义版本用于内存有限的智能手机和功能手机它的用户界面可自定义内存占用量低手机制造商使用它可以创建令人赞叹的图形用户界面从而令手机卓越超群 Qtopia 手机版有两个版本键盘驱动和手写笔驱动。Qtopia PDA 版 :Qtopia PDA 版 Qtopia PDA 是一个强大的平台专用于基于 Linux操作系统的 PDA 个人数字助理设备许多 P

24、DA 都已采用了 Qtopia,Qtopia PDA 版已经成了事实上的Linux 标准它代表了可行的第三种 PDA 设计方案 Qtopia PDA 版具有可定制的用户界面支持多种不同的屏幕尺寸以及横向和纵向布局。Qtopia 消费电子产品平台: While Qtopia 手机版和 Qtopia PDA 版是针对移动电话和PDA 制造商的统包解决方案而 Qtopia 消费电子产品平台 (Qtopia CEP) 则是一套高层次开发平台适用于那些希望自行设计和开发应用套件的制造商 Qtopia CEP使得制造商能够在形形色色的手写笔和键盘驱动的设备上创建自定义的环境这些设备包括电视机 Web Pa

25、d 无线联网板机顶盒以及许多其它基于 Linux 的设备等等。Qtopia 产品系列旨在为基于 Linux 的消费电子设备提供和创建图形用户界面它为制造商提供了前所未有的灵活性和众多选择。- 5 -嵌入式系统教学平台实验教材第二章 Qt 的安装2.1 Qt X11 的安装你可能需要 root 帐号,这取决于你要安装 Qt 的路径的权限。从 TrollTech 公司的官方ftp 站点获得 qt-x11-2.3.2.tar.gz 软件包。解开和解压缩软件包:# tar -vxzf qt-x11-2.3.2.tar.gz重命名软件包:# mv qt-2.3.2 qt-x11-2.3.2进入解开后的文

26、件,设置一些环境变量# cd qt-x11-2.3.2# export QTDIR=/2410/qt-x11-2.3.2/在配置之前,我们先看一下配置的选项:#./configure help主要的配置信息如下:The defaults (*) are usually acceptable. Here is a short explanation ofeach option:*-release . Compile and link Qt with debugging turned off.-debug . Compile and link Qt with debugging turned on

27、.-shared Create and use a shared Qt library (libqt.so)-static Create and use a static Qt library (libqt.a)-no-gif Do not compile in GIF reading support.-gif . Compile in GIF reading support. See src/kernel/qgif.h-no-sm . Do not support X Session Management.-sm Support X Session Management, links in

28、-lSM -lICE.-no-thread . Do not compile with Threading Support-thread Compile with Threading Support-qt-zlib . Use the zlib bundled with Qt.-system-zlib . Use a zlib from the operating systemhttp:/www.info-zip.org/pub/infozip/zlib-qt-libpng . Use the libpng bundled with Qt.-system-libpng . Use a libp

29、ng from the operating system.See http:/www.libpng.org/pub/png- 6 -嵌入式系统教学平台实验教材*-no-mng Do not compile in MNG I/O support.-system-libmng . Use libmng from the operating system.See http:/-no-jpeg . Do not compile in JPEG I/O support.-system-jpeg . Use jpeglib from the operating system.See http:/www.i

30、jg.org-no-nas-sound Do not compile in NAS sound support.-system-nas-sound Use NAS libaudio from the operating system.see http:/ . Disables a module, where module cancan be one of: opengl table network canvas-kde . Builds the Qt Designer with KDE 2 support, so thatKDE 2 widgets can be used directly i

31、nthe Qt Designer. $KDEDIR must beset to point to a KDE 2 installation.See http:/www.kde.org-no-g+-exceptions . Disable exceptions on platforms using the GNU C+compiler by using the -fno-exceptions flag.-no-xft Disable support for Anti-Aliased fonts through theXft extension library (XFree86 4.0.2 and

32、 newer).-xft . Enable support for Anti-Aliased fonts.Xft support is auto-detected, but you may use theseflags to explicitly enable/disable support.-platform target . The platform you are building on (linux-g+)-xplatform target The platform when cross-compiling.See the PLATFORMS file for a list of su

33、pportedoperating systems and compilers.-Istring . Add an explicit include path.-Lstring . Add an explicit library path.-Rstring . Add an explicit dynamic library runtime search path.-lstring . Add an explicit library.Qt/Embedded only:- 7 -嵌入式系统教学平台实验教材-qconfig local . Use src/tools/qconfig-local.h r

34、ather than thedefault (qconfig.h).-depths list . Comma-separated list of supported bit-per-pixeldepths, from: v, 4, 8, 16, 24, and 32. v is VGA16.-accel-voodoo3 . Enable Voodoo3 acceleration.-accel-mach64 Enable Mach64 acceleration.-accel-matrox Enable Matrox MGA acceleration.-qvfb Enable X11-based

35、Qt Virtual Frame Buffer.-vnc . Enable VNC server (requires network module).选择我们需要的配置和平台:#./configure -platform linux-g+ -thread -system-jpeg -gif -no-xft按照下面的选择进行一步一步,并且会有以下打印信息:Type Q to view the Q Public License.Type G to view the GNU General Public License.Type yes to accept this license offer.Ty

36、pe no to decline this license offer.Do you accept the terms of the license?yesThis target is using the GNU C+ compiler (linux-g+).Recent versions of this compiler automatically includecode for exceptions, which increase both the size ofthe Qt library and the amount of memory taken by yourapplication

37、s.You may elect to re-run ./configure with the-no-g+-exceptionsoption to compile Qt without exceptions. This iscompletely binary compatible, and existingapplications will continue to work (like KDE 2).Build type: linux-g+-sharedThread support. yesGIF support yesMNG support noJPEG support. yesOpenGL

38、support yesNAS sound support no- 8 -嵌入式系统教学平台实验教材Session management. yesXft support (Anti-Aliased Fonts) noXKB support . yesCreating makefiles.Qt is now configured for building. Just run make.To reconfigure, run make clean and configure.生成 Makefile 后,就可以进行安装#make安装成功后,将会有以下打印信息:The Qt library is now

39、 built in ./libThe Qt examples are built in the directories in ./examplesThe Qt tutorials are built in the directories in ./tutorialNote: be sure to set $QTDIR to point to here or to whereveryou move these directories.Enjoy! - the Trolltech team2.2 Qt/Embedded 安装先准备好软件包 qt-embedded-2.3.2.tar解开软件包:#

40、tar vxf qt-embedded-2.3.2.tar重命名:# mv qt-2.3.2 qt-embedded-2.3.2进入软件包中并设置一些环境变量:#export QTDIR=/2410/qt-embedded-2.3.2/如果是交叉编译,那么请先设置好 configs 目录下的平台文件:#vi configs/linux-arm-g+-shared将其中的 arm 编译器设置成 2410 的编译器,保存该文件。设置编译选项:#./configure -xplatform linux-arm-g+ -thread如果不是交叉编译,想在 qvfb 上运行的话,那么则为#./confi

41、gure -xplatform linux-x86-g+ -thread qvfb根据其打印的信息设置进行如下对话选择:Type G to view the GNU General Public License.Type yes to accept this license offer.Type no to decline this license offer.Do you accept the terms of the license?YesChoose a feature configuration:- 9 -嵌入式系统教学平台实验教材1. Minimal (630 kB)2. Small

42、 (960 kB)3. Medium (1.5 MB)4. Large (3 MB)5. Everything (5 MB)6. Your own local configuration (src/tools/qconfig-local.h)Sizes are stripped dynamic 80386 build. Static builds are smaller.Your choice (default 5):5Choose pixel-depths to support:v. VGA-16 - also enables 8bpp4. 4bpp grayscale - also ena

43、bles 8bpp8. 8bpp16. 16bpp24. 24bpp - also enables 32bpp32. 32bppEach depth adds around 100Kb on 80386.Your choices (default 8,16):16Enable Qt Virtual Framebuffer support for development on X11 (default yes)yesBuilding on: linux-x86-g+-sharedBuilding for: linux-arm-g+-sharedThread support. yesGIF sup

44、port noMNG support noJPEG support. yesCreating makefiles.Qt is now configured for building. Just run make.To reconfigure, run make clean and configure.生成 Makefile 之后,就可以进行编译了:#make编译成功之后,则会有如下提示:The Qt library is now built in ./lib- 10 -嵌入式系统教学平台实验教材The Qt examples are built in the directories in ./

45、examplesThe Qt tutorials are built in the directories in ./tutorialNote: be sure to set $QTDIR to point to here or to whereveryou move these directories.Enjoy! - the Trolltech team2.3 Qtopia 编译如果已经安装好了 qt-embedded,就可以进行 Qtopia 的安装了。准备好 Qtopia 的软件包: qtopia-free-1.5.0。设置环境变量:#export QTDIR=/2410/qt-emb

46、edded-2.3.2#export QPEDIR=/2410/qtopia-free-1.5.0接下来就可以配置了:#./configure -platform linux-arm-g+如果是在 qvfb 上运行的话,则为:#./configure -platform linux-x86-g+生成 Makefile 之后,就可以进行编译了:#make- 11 -嵌入式系统教学平台实验教材第三章 Qt 的编程实验一 “Hello word! ”Qt 初探实验目的:本次实验主要任务是创建和显示一个简单的窗口,让用户了解一下 Qt 程序最基本的框架。实验代码:helloword.cpp:/* $I

47、d: /sample/1/helloworld.cpp 2.3.2 edited 2004-10-12 $* Copyright (C) 2004-2005 OURSELEC AS. All rights reserved.* This file is part of an example program for Qt. This example* program may be used, distributed and modified without limitation.*/#include #include int main( int argc, char *argv )QApplic

48、ation app( argc, argv );QLabel *label = new QLabel( “Hello, world!“, 0 );label-setAlignment( Qt:AlignVCenter| Qt:AlignHCenter );label-setGeometry( 10, 10, 200, 80 );app.setMainWidget( label );label-show();int result = app.exec();return result;实验原理:#include 包含了文件 qapplication.h,此文件总是被包含再同样的源文件中,它里面包含了 main()函数。这个例程因为使用了 QLabel widget 来显示文本,所以也必须包含文件 qlabel.h。QApplication app( argc, argv ) 创建了一个 QApplication 对象,命名为 app。- 12 -嵌入式系统教学平台实验教材QApplication 对象是一个容器,包含了应用程序顶层的窗口(或者一组窗口)。顶层窗口是独一无二的,它在应用程序中从来就没有父窗口。因为 QAp

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

当前位置:首页 > 实用文档 > 产品手册

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报