




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
QT5开发及实例(第5版)第1章Qt概述——什么是Qt01Qt的产生和发展Qt的产生和发展2008年,诺基亚公司从奇趣收购了Qt,并从2009年5月发布的Qt4.5起开放源代码。2011年,Digia公司(芬兰的一家IT服务公司)从诺基亚收购了Qt的商业版权。2012年8月9日,诺基亚宣布将Qt软件业务正式出售给Digia。2013年7月3日,Digia公司发布Qt5.1并于次年4月配套推出了Qt跨平台的集成开发环境QtCreator3.1.0。2014年9月16日,Digia成立了一个名为TheQtCompany的全资子公司,以进一步推动Qt产品的开发和市场扩张,并建立起全新的Qt产品网站www.qt.io,该网站将Qt的商业业务和开源社区统一到同一个在线渠道之中。02Qt5.15与Qt6Qt5.15与Qt6随着互联网迈入“云”时代及物联网的兴起,TheQtCompany紧跟潮流于2020年底发布了面向未来生产力平台的Qt6。因Digia志在同时成为桌面、嵌入式、移动互联网等众多领域的开拓者,对Qt6进行了“大刀阔斧”的重构,将原Qt5的大量传统模块和库从Qt中剔除,从零开始基于最新的技术重新研发它们的替代品,并制定了雄心勃勃的计划,但是这么一来却使得原来基于Qt5开发的很多软件功能在Qt6上暂时无法实现(因官方与之对应的新技术模块/库尚未来得及做出来),为保持兼容和维护Qt生态圈的稳定,官方在发布Qt6的同时也推出了Qt5.15,它是一个长支持(LTS)版本,可看作是Qt5系列的“封笔之作”。QT5开发及实例(第5版)第1章Qt概述——Qt5.15的安装01下载Qt在线安装器和申请免费账号下载Qt在线安装器和申请免费账号访问Qt官网https://www.qt.io,点主页右上角
按钮进入“GetQt&QA”页,找到“TryQtFrameworkandTools”版块,如图1.1所示,单击“DownloadQt”按钮,弹出Qt申请免费账号页,如图1.2所示。下载Qt在线安装器和申请免费账号图1.2申请免费账号下载Qt在线安装器和申请免费账号根据页面栏目填写信息,填写完单击底部“Submit”按钮,如果填写的信息形式上没问题,系统首先向用户提供的电话(笔者的是+8617714319***)发6位短信,在随后出现的验证对话框输入短信验证码,验证通过后,输入账号密码和对密码再次输入确认,系统会给用户提供的电子邮箱发送邮件。完成后显示页面如图。下载Qt在线安装器和申请免费账号该页面包含两个方面信息:(1)提供在线安装器下载。单击“here”超链接,系统自动识别当前操作者使用的计算机操作系统,并提供与之匹配的安装器,用户直接确认下载即可。(2)提示用户根据Qt官方发送的邮件链接尽快登录验证,因为该链接有时效,使用后不能再用。进入该链接网页,如图完成Qt账号登录。
02安装过程安装过程安装前要确保计算机是处于联网状态。(1)双击下载的安装器文件,启动向导,出现如图界面,要求输入Qt账号(也就是刚刚申请的免费账号),输入完单击“下一步”按钮。(2)接下来出现“开源义务”页,勾选“我已阅读并同意使用开源Qt的条款和条件”和“我是个人用户,我不为任何公司使用Qt”,单击“下一步”按钮。安装过程(3)在“安装程序-Qt”页直接单击“下一步”按钮。安装器自动获取远程Qt安装所需的元信息,进入“ContributetoQtDevelopment”页显示提示信息,用户可选择向Qt官方发送(或不发送)有关自己Qt使用的统计信息。单击“下一步”按钮。(4)在“安装文件夹”页显示如图。安装过程(5)在“选择组件”页选择要安装的组件,如图。因为要安装的是Qt5.15,我们在界面中央区树状视图的“Qt”节点下找到“Qt5.15.2”项,展开,看到其包含的所有组件,只须选择其中的部分进行安装。安装过程再选择其他模块,有几个模块在本书实例开发中可能会用到,所以建议大家在此一并选择装上,如图是笔者安装Qt5.15时的勾选项,供参考。(6)在“许可协议”页,选中“Ihavereadandagreetothetermscontainedinthelicenseagreements.”接受许可协议,单击“下一步”按钮。(7)在“开始菜单快捷方式”页可命名Qt启动菜单名,这里保持默认名,单击“下一步”按钮。(8)在“准备安装”页显示需要的磁盘空间,点“安装”按钮,开始在线安装Qt5.15。安装过程安装完成的界面如图,单击“完成”按钮结束安装。系统会自行启动QtCreator。03运行QtCreator运行QtCreatorQtCreator启动后进入初始界面,如图。04Qt5.15开发环境Qt5.15开发环境在Qt程序开发过程中,可以通过Qt的GUI界面设计器(QtDesigner)进行程序界面的绘制和布局,QtDesigner设计环境如图。Qt5.15开发环境
对象检查器(ObjectInspector):以两列表格的形式列出窗体中每个控件的对象名及所属类。初始窗体上尚未放置任何控件时,仅有窗体自身的一个条目,可看到它的类型为QDialog(对话框)。
属性编辑器(PropertyEditor):以两列表格的形式显示当前窗体或其上被选中控件的属性和值,可根据设计需要在其中修改属性值。
Action编辑器(ActionEditor):用于编辑菜单/工具栏的选项动作。
信号和槽编辑器(SignalsandSlotsEditor):列出了窗体界面上所有的信号/槽关联。Qt5.15开发环境设计区窗体的顶部有一系列工具按钮可用于在设计界面时切换编辑模式,Qt支持四种编辑模式,如图。Qt5.15开发环境各模式的用途简介如下。
编辑控件(EditWidgets):这是默认的模式,可以在窗体上拖曳放置控件并设置它们的属性和外观。
编辑信号/槽(EditSignals/Slots):此模式下可以为窗体上的控件关联系统中已有的信号和槽。
编辑伙伴(EditBuddies):可以建立QLabel标签与其他类型控件的伙伴关系,即当用户激活标签的快捷键时,鼠标/键盘的焦点会转移到它的伙伴控件上。Qt中只有QLabel标签对象才可以有伙伴控件,也只有该QLabel对象具有快捷键(在显示文本的某个字符前面添加一个前缀“&”就可以定义快捷键)时,伙伴关系才有效。例如:QLineEdit*leAge=newQLineEdit(this);QLabel*lbAge=newQLabel("&Age",this);lbAge->setBuddy(leAge);
编辑Tab顺序(EditTabOrder):可以设置Tab键在窗体控件间的焦点顺序。QT5开发及实例(第5版)第1章Qt概述——Qt5开发入门实例Qt5开发入门实例当用户输入一个圆的半径后,可以显示计算后的圆周长和面积值,运行效果如图。01设计器QtDesigner开发实例1.创建Qt项目2.界面设计3.认识程序启动入口4.关联信号与槽5.功能开发设计器QtDesigner开发实例【例】(简单)(CH101)采用设计器QtDesigner实现计算圆面积,完成上图所示的功能。首先创建Qt项目,接着进行界面设计,然后编写相应的功能代码。1.创建Qt项目(1)运行QtCreator,在欢迎界面左侧点“CreateProject...”按钮,或者选择“文件”→“NewProject...”命令,创建一个新的项目,出现“NewProject”窗口,如图。设计器QtDesigner开发实例(2)选择一个项目模板。点左栏“Projects”列表下的“Application(Qt)”,中间栏选“QtWidgetsApplication”选项,单击右下角“Choose...”按钮,进入下一步。(3)命名自己的项目并选择保存路径。项目命名没有大小写要求,依个人习惯,这里将项目命名为CircleCal。注意:保存项目的路径中不能有中文字符。如图所示,单击“下一步”按钮进入下一步骤。设计器QtDesigner开发实例(4)接下来的界面让用户选择项目的构建(编译)工具,这里选qmake,如图所示,单击“下一步”按钮。设计器QtDesigner开发实例(5)在“ClassInformation”页根据实际需要选择一个“基类”。这里选择QDialog对话框类作为基类,“Classname”(类名)填写Dialog,这时“Headerfile”(头文件)、“Sourcefile”(源文件)及“Formfile”(界面文件)都出现默认的文件名dialog,但建议读者根据项目程序功能改名,这里将3个文件都重命名为circleCal。默认选中“Generateform”(创建界面)复选框,表示需要采用设计器QtDesigner来可视化地设计界面,如图所示,单击“下一步”按钮。设计器QtDesigner开发实例(6)再次单击“下一步”按钮,进入“KitSelection”(选择构建套件)界面,由于之前安装选择组件的时候已经指定了使用唯一的编译器MinGW,故这里只有一个选项“DesktopQt5.15.2MinGW64-bit”,如图,直接单击“下一步”按钮进入下一步骤即可。设计器QtDesigner开发实例(7)此时,相应的文件已经自动加载到项目文件列表中,如图。设计器QtDesigner开发实例QtCreator界面左上方出现项目结构的树形视图,项目的所有文件自动在视图中分类显示,如图1.20(a)所示,各文件包含在相应的节点中,单击节点前的“”图标可以显示该节点下的文件;而单击节点前的“”图标则可隐藏该节点下的文件。单击上部灰色工具栏中的过滤符号后,弹出一个下拉列表,勾选“简化树形视图”则切换到简单的文件列表样式,如图1.20(b)所示。
设计器QtDesigner开发实例2.界面设计拖曳左侧组件箱的滑动条,在最后的DisplayWidgets容器栏(如图1)中找到Label标签控件,拖曳三个此控件到中央设计区的窗体上;同样,在InputWidgets容器栏(如图2)中找到LineEdit单行文本框控件,也拖曳三个到窗体上,用于输入半径值及显示计算结果;在Buttons容器栏(如图3)中找到PushButton按钮控件,拖曳一个到窗体上。
设计器QtDesigner开发实例设置窗体上各控件的属性。分别选中要设置属性的控件,根据表1.1在设计环境右下方的属性编辑器中进行设置。编号控件类别对象名称属性说明
DialogDialoggeometry:[(0,0),350x200]windowTitle:计算圆面积①Labellabelgeometry:[(80,40),71x21]text:半径=②Labellabel_2geometry:[(80,80),71x21]text:周长=③Labellabel_3geometry:[(80,120),71x21]text:面积=④LineEditleRadiusgeometry:[(140,40),113x21]⑤LineEditleLengthenabled:取消勾选,表示本文本框不可输入geometry:[(140,80),113x21]⑥LineEditleAreaenabled:取消勾选,表示本文本框不可输入geometry:[(140,120),113x21]⑦PushButtonpbCalgeometry:[(140,160),93x28]text:计算设计器QtDesigner开发实例设计区窗体呈现的效果如图。此时从对象检查器可看到窗体中各控件对象的名称及所属的类,如图。设计器QtDesigner开发实例3.认识程序启动入口在开发功能之前,先来简单认识一下Qt程序的启动入口。每个Qt项目都有一个最初执行的入口函数,在项目树形视图的“Sources”节点下找到main.cpp文件,其中的main()函数就是整个项目程序的启动入口,如下:#include"circleCal.h" //(a)
#include<QApplication> //(b)
intmain(intargc,char*argv[]) //(c){QApplicationa(argc,argv); //(d)Dialogw; //创建一个对话框对象w.show(); //(e)returna.exec(); //(f)}设计器QtDesigner开发实例4.关联信号与槽(1)添加槽右击对象检查器中的“Dialog”对象,弹出快捷菜单选择“改变信号/槽...”,弹出“Dialog的信号/槽”对话框,点上部“槽”列表左下角的按钮,列表中出现一可编辑条目,输入槽calCircle(),点“确定”按钮,如图。设计器QtDesigner开发实例(2)进入“信号/槽”编辑模式点设计区窗体顶部的(编辑信号/槽)按钮或选择主菜单“编辑”→“EditSignals/Slots”。(3)按钮clicked信号连接槽移动鼠标指针到“计算”(pbCal)按钮上,按钮周边出现红色边框,按下左键拖曳,从按钮上拉出一条接地线,如图。设计器QtDesigner开发实例(4)文本框returnPressed信号连接槽操作类同第(3)步,拖曳半径文本框(leRadius)接地,在弹出“配置连接”对话框中分别选中文本框的returnPressed信号与窗体的calCircle()槽,点“确定”按钮。以上两个信号与槽关联好的界面如图。设计器QtDesigner开发实例5.功能开发首先,在circleCal.h中声明槽函数calCircle()(加黑处),如下:#ifndefDIALOG_H#defineDIALOG_H
#include<QDialog>
QT_BEGIN_NAMESPACEnamespaceUi{classDialog;}QT_END_NAMESPACE
classDialog:publicQDialog{Q_OBJECT //(a)
public:Dialog(QWidget*parent=nullptr);~Dialog();
privateslots:
voidcalCircle(); //(b)
private:Ui::Dialog*ui; //(c)};#endif//DIALOG_H在circleCal.cpp中编写槽函数calCircle()的实现代码(加黑段),如下。02直接代码开发实例1.创建Qt项目2.代码定义界面3.关联信号与槽4.功能开发直接代码开发实例【例】(简单)
(CH102)采用编写代码的方式来实现计算圆面积的功能。实现步骤如下。1.创建Qt项目创建过程同上节设计器QtDesigner开发实例,只是第(5)步在“ClassInformation”页取消“Generateform”(创建界面)复选框的选中状态,这样创建的Qt项目树形视图中将不包含“Forms”节点及其下的circleCal.ui文件,故无法进入QtDesigner设计环境,只能用代码来定义界面。2.代码定义界面首先,在项目circleCal.h中添加如下加黑代码。然后,在circleCal.cpp中编写initUi()函数,以代码构建程序界面。直接代码开发实例3.关联信号与槽本例在创建半径输入文本框和“计算”命令按钮的代码后面,都用语句设置了信号与槽的关联,如下:leRadius=newQLineEd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五育课题申报书模板
- 德育教改课题申报书
- 体育跨学科课题申报书
- 小学课题申报评审书范文
- 地理教学课题申报书
- 代签离婚协议合同范例
- 劣质柴油采购合同范本
- 传媒经纪人合同范本
- 吊车租赁机械合同范例
- 农村油漆购买合同范本
- 2024年全新统计法培训课件:普法教育新方向
- 2020-2024年五年高考历史真题分类汇编(全国)专题14 中国古代史(非选择题)(解析版)
- 电子教案-《3D打印技术概论》
- 安全生产责任体系重点岗位履职清单
- 四川省成都市2024年中考道德与法治真题试卷(含答案)
- 《东北财经大学审计》课件
- 牧童谣课件教学
- 大学物理实验(绪论)学习通超星期末考试答案章节答案2024年
- 图书出版项目合作协议
- 《现代家政导论》电子教案 2.2模块二项目二家庭制度认知
- 商务礼仪课件教学课件
评论
0/150
提交评论