书签 分享 收藏 举报 版权申诉 / 27
上传文档赚钱

类型Qt开发及实例第版Qt布局管理课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4569445
  • 上传时间:2022-12-20
  • 格式:PPT
  • 页数:27
  • 大小:2.76MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Qt开发及实例第版Qt布局管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Qt 开发 实例 布局 管理 课件
    资源描述:

    1、3.1 分割窗口QSplitter类【例】【例】(简单)一个十分简单的分割窗口功能,整个对话框由三个窗口组成,各个窗口之间的大小可随意拖曳改变,效果如图3.1所示。3.1 分割窗口QSplitter类本实例采用编写代码的方式实现,具体步骤如下。(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“Splitter”,基类选择“QMainWindow”,取消“创建界面”复选框的选中状态。(2)在上述工程的“main.cpp”文件中添加代码。(3)在“main.cpp”文件的开始部分加入以下头文件:#include#include#include(4)运行程序,显

    2、示效果如图3.1所示。3.2 停靠窗口QDockWidget类停靠窗口QDockWidget类也是应用程序中经常用到的,设置停靠窗口的一般流程如下。(1)创建一个QDockWidget对象的停靠窗体。(2)设置此停靠窗体的属性,通常调用setFeatures()及setAllowedAreas()两种方法。(3)新建一个要插入停靠窗体的控件,常用的有QListWidget和QTextEdit。(4)将控件插入停靠窗体,调用QDockWidget的setWidget()方法。(5)使用addDockWidget()方法在MainWindow中加入此停靠窗体。3.2 停靠窗口QDockWidget

    3、类【例】【例】(简单)停靠窗口QDockWidget类的使用:窗口1只可在主窗口的左边和右边停靠;窗口2只可在浮动和右部停靠两种状态间切换,并且不可移动;窗口3可实现停靠窗口的各种状态。效果如图3.2所示。实例文件见光盘CH302。3.2 停靠窗口QDockWidget类(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“DockWindows”,基类选择“QMainWindow”,类名命名为“DockWindows”,取消“创建界面”复选框的选中状态,如图3.3所示。3.2 停靠窗口QDockWidget类(2)DockWindows类中只有一个构造函数的

    4、声明。代码如下:class DockWindows:public QMainWindowQ_OBJECTpublic:DockWindows(QWidget*parent=0);DockWindows();(3)打开“dockwindows.cpp”文件,DockWindows类构造函数实现窗口的初始化及功能实现,具体代码。(4)在“dockwindows.cpp”文件的开始部分加入以下头文件:#include#include(5)运行程序,显示效果如图3.2所示。3.3 堆栈窗体堆栈窗体QStackedWidget类类【例】【例】(简单)堆栈窗体QStackedWidget类的使用,当选择左

    5、侧列表框中不同的选项时,右侧显示所选的不同的窗体。在此使用列表框QListWidget,效果如图3.4所示。3.3 堆栈窗体堆栈窗体QStackedWidget类类(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“StackedWidget”,基类选择“QDialog”,类名命名为“StackDlg”,取消“创建界面”复选框的选中状态,如图3.5所示。3.3 堆栈窗体堆栈窗体QStackedWidget类类(2)打开“stackdlg.h”文件,添加如下加黑代码:class StackDlg:public QDialogQ_OBJECTpublic:Sta

    6、ckDlg(QWidget*parent=0);StackDlg();private:QListWidget*list;QStackedWidget*stack;QLabel*label1;QLabel*label2;QLabel*label3;在文件开始部分添加以下头文件:#include#include#include 3.3 堆栈窗体堆栈窗体QStackedWidget类类(3)打开“stackdlg.cpp”文件,在停靠窗体StackDlg类的构造函数中添加代码。(4)在stackdlg.cpp文件的开始部分加入以下头文件:#include(5)运行程序,显示效果如图3.4所示。3.4

    7、 基本布局(QLayout)Qt提供了QHBoxLayout类、QVBoxLayout类及QGridLayout类等的基本布局管理,分别是水平排列布局、垂直排列布局和网格排列布局。它们之间的继承关系如图3.6所示。3.4 基本布局(QLayout)addWidget()方法用于加入需要布局的控件,方法原型如下:void addWidget(QWidget*widget,int fromRow,int fromColumn,int rowSpan,int columnSpan,Qt:Alignment alignment=0 )/需要插入的控件对象/插入的行/插入的列/表示占用的行数/表示占用的

    8、列数/描述各个控件的对齐方式3.4 基本布局(QLayout)addLayout()方法用于加入子布局,方法原型如下:void addLayout(QLayout*layout,int row,int column,int rowSpan,int columnSpan,Qt:Alignment alignment=0 )/表示需要插入的子布局对象/插入的起始行/插入的起始列/表示占用的行数/表示占用的列数/指定对齐方式3.4 基本布局(QLayout)【例】【例】(难度一般)通过实现一个“用户基本资料修改”的功能表来介绍如何使用基本布局管理,如QHBoxLayout类、QVBoxLayout类

    9、及QGridLayout类,效果如图3.7所示。3.4 基本布局(QLayout)本实例共用到四个布局管理器,分别是LeftLayout、RightLayout、BottomLayout和MainLayout,其布局框架如图3.8所示。3.4 基本布局(QLayout)(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“UserInfo”,基类选择“QDialog”,取消“创建界面”复选框的选中状态。(2)打开“dialog.h”头文件,在头文件中声明对话框中的各个控件。添加代码。添加如下的头文件:#include#include#include#inclu

    10、de#include(3)打开“dialog.cpp”文件,在类Dialog的构造函数中添加代码。3.4 基本布局(QLayout)(4)在“dialog.cpp”文件的开始部分加入以下头文件:#include#include#include#include#include#include#include#include(5)选择“构建”“构建项目UserInfo”命令,为了能够在界面上显示头像图片,请将事先准备好的图片312.png复制到D:QtCH3CH304build-UserInfo-Desktop_Qt_5_4_0_MinGW_32bit-Debug目录下。运行程序,显示效果如图3.

    11、7所示。3.5【综合实例】:修改用户资料通过实现修改用户资料功能这一综合实例,介绍如何使用布局方法实现一个复杂的窗口布局,如何使用分割窗口,以及如何使用堆栈窗体,效果如图3.9所示。(a)“基本信息”页面3.5【综合实例】:修改用户资料(b)“联系方式”页面3.5【综合实例】:修改用户资料(c)“详细资料”页面图3.9 修改用户资料实例效果3.5【综合实例】:修改用户资料最外层是一个分割窗体QSplitter,分割窗体的左侧是一个QListWidget,右侧是一个QVBoxLayout布局,此布局包括一个堆栈窗体QStackWidget和一个按钮布局。在此堆栈窗体QStackWidget中包含

    12、三个窗体,每个窗体采用基本布局方式进行布局管理,如图3.10所示。3.5【综合实例】:修改用户资料1导航页实现导航页实现(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“Example”,基类选择“QDialog”,取消“创建界面”复选框的选中状态。(2)在如图3.10所示的布局框架中,框架左侧的页面(导航页)用Content类实现,类名命名为“Content”。打开“content.h”头文件,修改Content类继承自QFrame类,类声明中包含自定义的三个页面类对象、两个按钮对象及一个堆栈窗体对象,添加代码。(3)打开“Content.cpp”文件,

    13、添加代码。3.5【综合实例】:修改用户资料2“修改用户基本信息修改用户基本信息”设计设计(1)添加该工程的提供主要显示用户基本信息界面的函数所在的文件,在“Example”项目名上单击鼠标右键,在弹出的快捷菜单中选择“添加新文件.”菜单项,在弹出的如图3.11所示的对话框中选择“C+Class”选项,单击“Choose.”按钮。3.5【综合实例】:修改用户资料(2)弹出如图3.12所示的对话框,在“Base class”后面的下拉列表框中选择基类名“QWidget”,在“Class name”后面的文本框中输入类的名称“BaseInfo”。(3)打开“baseinfo.h”头文件,添加代码。(

    14、4)打开“baseinfo.cpp”文件,添加代码。3.5【综合实例】:修改用户资料3“显示用户的联系方式显示用户的联系方式”设计设计(1)添加该工程的提供主要显示用户的联系方式界面的函数所在的文件,在“Example”项目名上单击鼠标右键,在弹出的快捷菜单中选择“添加新文件.”菜单项,在弹出的对话框中选择“C+Class”选项。单击“Choose.”按钮,弹出对话框,在“Base class”后面的下拉列表框中选择基类名“QWidget”,在“Class name”后面的文本框中输入类的名称“Contact”。(2)单击“下一步”按钮,单击“完成”按钮,添加“contact.h”头文件和“c

    15、ontact.cpp”源文件。(3)打开“contact.h”头文件,添加代码。(4)打开“contact.cpp”文件,添加代码。3.5【综合实例】:修改用户资料4“显示用户的详细资料显示用户的详细资料”设计设计(1)添加主要显示用户的详细资料界面的函数所在的文件,在“Example”项目名上单击鼠标右键,在弹出的快捷菜单中选择“添加新文件.”菜单项,在弹出的对话框中选择“C+Class”选项,单击“Choose.”按钮,弹出对话框,在“Base class”后面的下拉列表框中选择基类名“QWidget”,在“Class name”后面的文本框中输入类的名称“Detail”。(2)单击“下一

    16、步”按钮,单击“完成”按钮,添加“detail.h”头文件和“detail.cpp”源文件。(3)打开“detail.h”头文件,添加代码。(4)打开“detail.cpp”文件,添加代码。3.5【综合实例】:修改用户资料下面编写该工程的入口函数(所在的文件为main.cpp)。打开“main.cpp”文件,编写代码。选择“构建”“构建项目Example”菜单项,与上例一样,为了能够在界面上显示头像图片,将事先准备好的图片312.png复制到D:QtCH3CH305build-Example-Desktop_Qt_5_4_0_MinGW_32bit-Debug 目录下。编译此程序,最后运行程序,效果如图3.9所示。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Qt开发及实例第版Qt布局管理课件.ppt
    链接地址:https://www.163wenku.com/p-4569445.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库