智能网联汽车计算机基础 课件 项目二任务2:Qt开发基础与用户界面开发_第1页
智能网联汽车计算机基础 课件 项目二任务2:Qt开发基础与用户界面开发_第2页
智能网联汽车计算机基础 课件 项目二任务2:Qt开发基础与用户界面开发_第3页
智能网联汽车计算机基础 课件 项目二任务2:Qt开发基础与用户界面开发_第4页
智能网联汽车计算机基础 课件 项目二任务2:Qt开发基础与用户界面开发_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

Qt开发基础与用户界面开发智能网联汽车计算机基础一、课程导入人机交互界面在汽车中起着重要的作用,它是驾驶员与汽车系统之间的接口,用于实现信息交流、指令输入和反馈显示。合理的人机交互界面设计可以提高驾驶员对车辆信息的理解和操作的便捷性,从而提升驾驶体验和安全性。那这样的人机交互界面应该如何开发呢?课程导入总结用户界面开发课程导入创建一个QT程序Qt开发基础2.1QT简介二、Qt开发基础QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括QtCreator,QtEmbedded,QtDesigner快速开发工具,QtLinguist国际化工具等部分,Qt支持所有Linux/Unix系统,还支持Windows平台。用户界面开发课程导入创建一个QT程序Qt开发基础总结2.2QT优点二、Qt开发基础Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正的组件编程。Qt与GTK、KDE、MFC,OWL,VCL,ATL是一样的图形界面库。用户界面开发课程导入创建一个QT程序Qt开发基础总结丰富的API3Qt包括多达250个以上的C++类,还提供基于模板的collections,serialization,file,I/Odevice,directorymanagement,date/time类。跨平台特性1支持下列操作系统:MicrosoftWindows,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。面向对象2Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说非常方便。Qt提供了一种称为signals/slots的安全类型来替代callback,使得各个元件之间的协同工作变得十分简单。2.3QT开发工具二、Qt开发基础QT开发工具包含QtCreator、QtDesigner、QtLinguist、QtAssistant、Qmake。(1)QtCreatorQtCreator是用于Qt开发的轻量级跨平台集成开发环境,可单独使用,也可与Qt库和开发工具组成一套完整的SDK。用户界面开发课程导入创建一个QT程序Qt开发基础总结2.3QT开发工具二、Qt开发基础(2)QtDesignerQtDesigner是强大的拖曳式图形化用户界面排版和设计工具。用户界面开发课程导入创建一个QT程序Qt开发基础总结分类12345功能支持表单和对话框的创建,可即时预览与Qt版面系统集成宏大的标准widgets集支持客户定制的widgets和对话框与MicrosoftVisualStudio.NET无缝集成优势加快了界面的设计过程支持所有平台上的本地外观感觉开发者能在自行选择的工作环境内充分发挥其现有技能//2.3QT开发工具二、Qt开发基础(3)QtLinguistQtLinguist一整套工具,支持对Qt应用作快捷无误的翻译,是一组能理顺国际化工作流的工具。用户界面开发课程导入创建一个QT程序Qt开发基础总结分类123功能采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者支持所有语言从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统优势加快了翻译/本地化进程与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面轻松应对国际市场2.3QT开发工具二、Qt开发基础(4)QtAssistantQtAssistant是可定制可重发布的帮助文件和文档阅读器。用户界面开发课程导入创建一个QT程序Qt开发基础总结分类12345优势简单明快的web浏览器般导航、书签和文档文件连接支持富文本HTML全文本关键词查阅可定制并随Qt供应/2.3QT开发工具二、Qt开发基础(5)QmakeQmake是跨平台makefile生成器。用户界面开发课程导入创建一个QT程序Qt开发基础总结分类12功能读取工程源码,生成依赖关系树,生成平台相关工程和makefiles与VisualStudio及Xcode集成优势无需担忧跨平台编译降低对makefile手工构建的需求度2.4QT窗口组件二、Qt开发基础图形用户界面由不同的窗口和窗口组件构成,<QtGui>头文件包含窗口组件,对应QT中的GUI模块,QT以组件对象的方式构建GUI。其中组件的类型包括容器类和功能类两种。容器类(父组件)用于包含其他的界面组件,功能类(子组件)用于实现特定的交互功能。用户界面开发课程导入创建一个QT程序Qt开发基础总结2.4QT窗口组件二、Qt开发基础(2)Qt间的继承关系QObject和QPaintDevice是所有Qt类的顶层父类,QObject类是所有支持Qt对象模型的基类,QPaintDevice类是Qt中所有可绘制组件的基类。QWidget类继承自QObject类和QPaintDevice类,它是所有组件类的父类,但是它依然可以生成对象,作为顶级组件来使用,就是可以作为其他组件的父组件。最后一层的都属于QWidget组件。用户界面开发课程导入创建一个QT程序Qt开发基础总结(3)QWidget组件QWidget能够绘制自己和处理用户的输入,是QT中所有窗口组件类的父类,是所有窗口组件的抽象,每个窗口组件都是一个QWidget,QWidget类对象常用作父组件或顶级组件使用。(4)QLabel组件功能性组件QLabel用于显示一个提示性的字符串,一般需要父组件作为容器,QLable也可以单独作为窗口存在,但没什么意义(因为此时整个窗口全是QLabel)。用户界面开发课程导入创建一个QT程序Qt开发基础总结2.4QT窗口组件二、Qt开发基础2.5QT项目文件二、Qt开发基础以Widget窗口部件项目为例,新建的工程目录有如下几个文件,QtCreator软件将它们做了如下分组,包含三个文件夹和一个.pro文件。用户界面开发课程导入创建一个QT程序Qt开发基础总结(1)项目管理文件(.pro文件)后缀为“.pro”的文件是项目的管理文件,文件名就是项目的名称,.pro文件的内容:2.5QT项目文件二、Qt开发基础用户界面开发课程导入创建一个QT程序Qt开发基础总结(2)main.cpp文件主函数文件,里面包含main函数,程序从这里启动,文件内容:2.5QT项目文件二、Qt开发基础用户界面开发课程导入创建一个QT程序Qt开发基础总结(3)widget.h文件主窗口类的头文件所在,其中包含了一个私有指针ui,在构造该类对象时将会指向一个和界面ui相关的类对象,文件内容:2.5QT项目文件二、Qt开发基础用户界面开发课程导入创建一个QT程序Qt开发基础总结(4)widget.cpp文件主窗口类的源码文件,主窗口的代码实现所在,文件内容:2.5QT项目文件二、Qt开发基础用户界面开发课程导入创建一个QT程序Qt开发基础总结(5)widget.ui文件后缀为“.ui”的文件是可视化设计的窗体的定义文件,双击该文件将会打开设计页面,该设计页面是集成在QtCreator中的QtDesigner,可以对窗口进行可视化设计。3.1新建一个项目三、创建一个QT程序1)单击QtCreator的菜单项文件->新建文件或项目,出现如图所示的对话框。在这个对话框里选择需要创建的项目或文件的模板。QtCreator可以创建多种项目,在最左侧的列表框中单击“Application”,中间的列表框中列出了可以创建的应用程序的模板。注意用户界面开发课程导入创建一个QT程序Qt开发基础总结2)在图显示的对话框中选择项目类型为Qt1WidgetsApplication后,单击“Choose…”按钮,出现如图2-2-4所示的新建项目向导。3.1新建一个项目三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结3)在图中,选择一个目录,如“/home/root123456”,再设置项目名称为Demo,这样新建项目后,会在“/home/root123456”目录下新建一个目录,项目所有文件保存在该目录下。4)在图中设置好项目名称和保存路径后,单击“下一步”按钮,出现如图2-2-5所示的选择编译工具的界面。3.1新建一个项目三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结5)选择编译工具“DesktopQt5.9.7GCC64bit”,选择好编译工具后单击“下一步”按钮,出现如图所示的界面。3.1新建一个项目三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结6)在此界面中选择需要创建界面的基类(baseclass),有3种基类可以选择:①QMainWindow是主窗口类,主窗口具有主菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口;②QWidget是所有具有可视界面类的基类,选择QWidget创建的界面对各种界面组件都可以支持;③QDialog是对话框类,可建立一个基于对话框的界面;在此选择QWidget作为基类,自动更改的各个文件名不用手动去修改。勾选“创建界面”复选框。这个选项如果勾选,就会由QtCreator创建用户界面文件,否则,需要自己编程手工创建界面。7)然后单击“下一步”按钮,出现一个页面,总结了需要创建的文件和文件保存目录,单击“完成”按钮就可以完成项目的创建。3.1新建一个项目三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结3.2项目的组成和管理1)创建好Demo项目后,在QtCreator的左侧工具栏中单击“编辑”按钮,可显示如图所示的窗口。窗口左侧有上下两个子窗口,上方的目录树显示了项目内文件的组织结构,显示当前项目为Demo。项目的名称构成目录树的一个根节点,在项目名称节点下面,分组管理着项目内的各种源文件。三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结2)双击文件目录树中的文件widget.ui,出现如图所示的窗体设计界面。这个界面实际上是QtCreator中集成的QtDesigner。窗口左侧是分组的组件面板,中间是设计的窗体。在组件面板的DisplayWidgets分组里,将一个Label组件拖放到设计的窗体上面。三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结3.2项目的组成和管理3)双击刚刚放置的Label组件,可以编辑其文字内容,将文字内容更改为“Hello,World!”,将对象名更改为“Hello”,在窗口右下方的属性编辑器里编辑标签的Font属性,将字体族修改为“TIwgMono”,PointSize(点大小)更改为12,勾选粗体,如图所示。三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结3.2项目的组成和管理单击主窗口左侧工具栏下方

的按钮,直接运行程序,程序运行的界面如图所示。这就是一个标准的桌面应用程序,我们采用可视化的方式设计了一个窗口,并在上面显示了字符串“Hello,World!”。三、创建一个QT程序用户界面开发课程导入创建一个QT程序Qt开发基础总结3.3项目的运行4.1用户界面用户界面(UserInterface,简称UI,亦称使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面开发课程导入创建一个QT程序Qt开发基础总结四、用户界面开发4.2图形用户界面(1)图形用户界面概述图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。用户界面开发课程导入创建一个QT程序Qt开发基础总结四、用户界面开发描述定义图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其他一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。(2)GUI开发原理GUI程序运行模式如图所示。用户界面开发课程导入创建一个QT程序Qt开发基础总结四、用户界面开发4.2图形用户界面面向对象的GUI程序开发过程用户界面开发课程导入创建一个QT程序Qt开发基础总结四、用户界面开发4.2图形用户界面01创建界面02消息处理请输入标题创建窗口、窗口元素GUI界面请输入标题在消息处理函数中根据程序消息做出不同相应操作系统提供了创建界面元素所需要的函数,依次调用不同功能的函数就可以创建出界面元素,但操作系统提供的原生函数无法直接映射到界面元素。根据面向对象程序设计思想,将界面元素抽象为类,GUI界面的创建过程就是组

温馨提示

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

评论

0/150

提交评论