QT框架的C++编程_第1页
QT框架的C++编程_第2页
QT框架的C++编程_第3页
QT框架的C++编程_第4页
QT框架的C++编程_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,Qt概述1,Qt信息Qt是Trolltech的产品。Qt是多平台c图形用户界面应用框架。为应用程序开发人员提供构建图形用户界面应用程序所需的所有功能。Qt完全面向对象,可轻松扩展,允许实际的组件编程。从1996年初开始,Qt已成为全球数千个成功应用程序的基础。Qt也是受欢迎的Linux桌面环境KDE的基础。(KDE是所有主要Linux发行版的标准组件)Qt支持以下平台:MS/Windows-95、98、NT 4.0、ME和2000Unix/X11-Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和许多其他X11平台Maci

2、ntosh-Mac OS X嵌入式-支持帧缓冲区的Linux平台。2、Qt版本信息Qt分发到其他版本:Qt enterprise和Qt professional:适用于商业软件开发。提供现有商业软件发行版,并提供免费升级和技术支持服务。企业版比专业版具有更多的扩展模块。Qt自由表单:Qt仅为自由和开放源代码软件开发提供的Unix/X11版本。Q public license和GNU general public license下免费提供。Qt/embedded free edition:是Qt为自由软件开发提供的嵌入式版本。GNU general public license免费提供。下表说明

3、了Windows环境中Qt的差异。(Qt仅提供适用于Windows的professional和enterprise,但是自由版本的Qt仍然可以在Windows环境中使用。)配置模块自由版专业版企业版Qt的基本模块(工具、核心、窗口小部件、对话框)与平台无关的Qt图形用户界面工具包和应用程序类xxxQt设计器视觉Qt图形用户界面生成器xxx图标视图模块多个图形用户交互的可视化。xx工作区模块多文档接口(MDI)支持xxOpenGL 3d图形模块与Qt集成OpenGLx网络模块与某些套接字、TCP、FTP和异步DNS查询无关的类x画布模块二维图形区域,针对可视化、图表和其他用途进行了优化x表格模组

4、灵活、可编辑的表单/电子表格xXML模块通过SAX接口和DOM级别1的XML解析器xSQL模块SQL数据库访问类x3,Qt的配置Qt提供了一组相当广泛的c类库,并包含一些命令行和图形界面工具,可以有效地用于加速开发过程。Qt设计器:Qt设计器。用于可视化应用程序界面。Qt linguist: Qt语言学家。用于翻译应用程序。提供多种语言的支持。Qmake:使用此工具可以从简单的独立于平台的工程文件中生成编译所需的Makefile。Qt Assistant: Qt的帮助文件。类似于MSDN。快速找到所需的帮助。Moc:元对象编译器。Uic:用户界面编译器。编译程序时自动调用ui_*。通过h文件生

5、成应用程序界面。Qembed:例如,将图片转换为c代码。4、安装Qt安装过程因Qt平台而异。在Windows环境中安装Qt之前,必须先安装MinGW。MinGW,即Minimalist GNU For Windows。头文件和端口库的集合,人们可以使用GNU Compiler C(GCC)生成Windows32程序,而无需第三方动态链接库。在默认层,MinGW是Microsoft的标准c运行时库(MSVCRT),允许控制台模式的程序在所有NT OS上有效,在所有Windows 95发行版及更高版本的Windows OS上有效。DLL)的一组包含文件和端口库,通过默认运行时间,您可以使用使用GC

6、C写控制台模式的美国标准组织for America(ANSI)程序,使用Microsoft提供的c运行时间扩展。Windows32 API中没有此功能。以下组件是w32api包,它是一组可以使用Windows32 API的包含和端口库:具有足够的权限,可以在默认运行时使用CRT(C Runtime)和Windows32 API功能。实际上,MinGW不是C/C编译器,而是GNU工具栏。MinGW除了包含GNU编译器集合(GCC)外,还包含其他GNU程序开发工具,如gawk bison等。如果安装MinGW,然后安装Qt并更改Windows系统的环境变量,则可以在Windows环境中使用Qt。要

7、在VC环境中使用QT,必须进行其他编译和设置,或者下载仅VC的Qt版本。有关此信息,请参阅附录。第二,开始学习Qt1,Hello,Qt!我们用很简单的Qt程序开始Qt学习。您可以先查看分析代码行,了解如何编译和运行程序。1 #include2 #include3 int main (int argc,char *argv )4 .5 QApplication app (argc、argv);6 q label * label=new qlabel( hello Qt!);7 label-show();8 return app。exec();9第1行和第2行包含两个类的定义:QApplicati

8、on和QLabel。每个Qt类都有同名的头文件。头文件包含此类的定义。因此,如果在程序中使用了类对象,则必须在程序中包含此头文件。第三行是程序的入口。几乎在所有情况下,main()函数都必须先执行初始化,然后才能将控制权传递给Qt库。然后,Qt库通过事件通知用户动作。Argc是命令行变量的数量,argv是命令行变量的数组。这是C/C特征。Qt不特定于Qt。无论如何,Qt必须处理这些变量第5行定义QApplication对象App。QApplication管理各种应用程序(如默认字体和光标)的广泛资源。要创建App,需要argc和argv,因为Qt支持某些自身的命令行参数。QApplicatio

9、n对象必须用于使用Qt的所有应用程序,并且必须在使用Qt的窗口系统部件之前创建QApplication对象。其中App创建并处理随后的命令行变量(例如,x窗口下的-display)。识别为Qt的所有命令行参数都将从argv中删除。因此,argc也减少了。第6行是“Hello,Qt!”创建了显示的QLabel窗口小部件(widget),因此也可以打印部分。在Qt和Unix术语中,窗口组件是用户界面中的可见元素,在Windows术语中,它相当于将“控制器”添加到“容器”中。“按钮”(Button)、“菜单”(menu)、“滚动条”(scroll bars)和“框架”(frame)都是窗口构件的示例

10、。窗口部件可以包含其他窗口部件。例如,应用程序界面通常是包含QMenuBar、一些QToolBar、QStatusBar和一些其他部件的窗口。大多数应用程序都使用QMainWindow或QDialog作为程序界面,但是Qt可以使任何窗口组件成为窗口。在此示例中,QLabel窗口部件用作应用程序的主窗口。你看到我们行使我们制作的QLabel。创建窗口部件时始终隐藏,并且必须通过调用show()显示。此功能允许您定制以在显示这些窗口部件之前不发生闪烁。第8行是main()将控制权移交给Qt。这里,程序进入事件循环。事件周期是程序等待用户操作(例如鼠标按键或键盘)的待机模式。用户的动作生成程序可以响

11、应的事件(也称为“消息”)。程序对这些事件的反应通常是执行一个或多个函数。为了简单起见,未通过在main()函数的末尾调用delete来删除QLabel对象。像这样的小程序在退出时释放程序在操作系统中占用的内存堆,因此这种内存泄漏是无害的。让我编译这个程序。创建名为Hello的目录,然后在目录下创建名为hello.cpp的c源文件,将上面的代码写入文件。运行启动程序Qt by TrolltechQt命令提示。在命令行模式下,将目录切换到hello,然后输入命令:qmake -project。此命令生成依赖于工作平台的工程文件()。再次输入命令。qmake

12、.此命令通过工程文件生成可在特定工作平台上使用的makefile。最后,输入命令:使用make创建应用程序。运行此程序可以获得以下程序界面:Qt也支持XML。可以用以下语句替换程序行6:qlabel * label=new qlabel( Hello Qt! );重新编译程序时,您会发现界面具有简单的HTML样式。下图:2,调用退出第二个示例说明如何使应用程序响应用户的动作。此应用程序包含允许用户单击此按钮退出程序的按钮。程序代码与前面的程序非常相似,不同之处在于程序代码使用QPushButton代替QLabel,并将用户操作(单击按钮)和某些程序代码关联起来。1 #include2 #inc

13、lude3 int main (int argc,char *argv )4 .5 QApplication app (argc、argv);6 qpush button * button=new qpush button( quit );7q object 3363603360 connect(button,signal (clicked()、8 app,SLOT(quit();9 button-show();10 return app。exec();11Qt程序中的窗口组件信号(signals)表示用户的行为或状态更改。在此示例中,当用户单击此按钮时,QPushButton将发送click

14、ed()信号。信号可以与函数(在此例中称为插槽(slot)相关联,并且在信号发送时与信号相关联的插槽将自动执行。此示例将按钮的信号 clicked()与QApplication对象的插槽 quit()相关联:按下按钮,程序退出。3、窗口布局本部分使用一个示例来演示如何在窗口中计划单个部件的放置,并学习如何使用信号和插槽同步两个窗口部件。此应用程序需要输入用户的使用期限,用户可以通过旋转窗口或滑块窗口输入。此应用程序包含三个窗口组件:一个QSpinBox、一个QSlider和一个QWidget。窗口小部件q小部件是程序的主窗口。QSpinBox和QSlider放置在q构件中。q小部件的子窗口。当

15、然,q小部件也可以称为QSpinBox和QSlider的父窗口。QWidget本身没有父窗口。被视为顶层窗口。QWidget及其所有子类的构造函数都具有表示父窗口的QWidget *参数。以下是程序的代码:1 #include2 #include3 #include4 #include5 int main (int argc,char *argv )6 .(成语)。7 QApplication app (argc、argv);8q小部件* window=newq小部件;9 window-set window title( enter your age );10 qsp inbox * sp inbox=new qsp inbox;11 q slider * slider=new q slider(Qt 33603360 horizontal);12 spinBox-setRange (0,130);13 slider-setRange

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论