版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 Qt 5Qt 5布局管理3.1 3.1 分割窗口分割窗口QSplitterQSplitter类类3.2 3.2 停靠窗口停靠窗口QDockWidgetQDockWidget类类3.33.3 堆栈窗体堆栈窗体QStackedWidgetQStackedWidget类类3.4 3.4 基本布局(基本布局(QLayoutQLayout)3.1 3.1 分割窗口分割窗口QSplitterQSplitter类类介绍一个十分简单的分割窗口功能,整个对话框由三个窗口组成,各个窗口之间的大小可随意拖曳改变,效果如图3.1所示。3.1 3.1 分割窗口分割窗口QSplitterQSplitter类类(1
2、)新建Qt Gui应用(详见本书第1章1.3.1节),项目名称为“Splitter”,基类选择“QMainWindow”,取消“创建界面”复选框的选中状态。(2)在上述工程的“main.cpp”文件中添加代码。(3)在“main.cpp”文件的开始部分加入以下头文件:#include#include#include (4)运行程序,显示效果如图3.1所示。3.2 3.2 停靠窗口停靠窗口QDockWidgetQDockWidget类类停靠窗口QDockWidget类也是应用程序中经常用到的,设置停靠窗口的一般流程如下。(1)创建一个QDockWidget对象的停靠窗体。(2)设置此停靠窗体的属
3、性,通常调用setFeatures()及setAllowedAreas()两种方法。(3)新建一个要插入停靠窗体的控件,常用的有QListWidget和QTextEdit。(4)将控件插入停靠窗体,调用QDockWidget的setWidget()方法。(5)使用addDockWidget()方法在MainWindow中加入此停靠窗体。3.2 3.2 停靠窗口停靠窗口QDockWidgetQDockWidget类类下面通过一个简单的例子来学习停靠窗口QDockWidget类的使用,窗口1只可在主窗口的左边和右边停靠;窗口2只可在浮动和右部停靠两种状态间切换,并且不可移动;窗口3可实现停靠窗口的
4、各种状态。效果如图3.2所示。3.2 3.2 停靠窗口停靠窗口QDockWidgetQDockWidget类类(1)新建Qt Gui应用(详见本书第1章1.3.1节),项目名称为“DockWindows”,基类选择“QMainWindow”,类名命名为“DockWindows”,取消“创建界面”复选框的选中状态,如图3.3所示。3.2 3.2 停靠窗口停靠窗口QDockWidgetQDockWidget类类(2)DockWindows类说明中只有一个构造函数的说明。代码如下:class DockWindows : public QMainWindow Q_OBJECTpublic: DockW
5、indows(QWidget *parent = 0); DockWindows();(3)打开“dockwindows.cpp”文件,DockWindows类构造函数实现窗口的初始化及功能实现,具体代码所示。(4)在“dockwindows.cpp”文件的开始部分加入以下头文件:#include#include(5)运行程序,显示效果如图3.2所示。3.33.3 堆栈窗体QStackedWidgetQStackedWidget类通过一个简单的例子来学习堆栈窗体QStackedWidget类的使用,当选择左侧列表框中不同的选项时,右侧显示所选的不同的窗体。在此使用列表框QListWidget,
6、效果如图3.4所示3.33.3 堆栈窗体QStackedWidgetQStackedWidget类(1)新建Qt Gui应用,项目名称为“StackedWidget”,基类选择“QDialog”,类名命名为“StackDlg”,取消“创建界面”复选框的选中状态,如图3.5所示。3.33.3 堆栈窗体QStackedWidgetQStackedWidget类(2)打开“stackdlg.h”文件,添加如下加黑代码:class StackDlg : public QDialogQ_OBJECTpublic:StackDlg(QWidget *parent = 0);StackDlg();priva
7、te:private:QListWidget QListWidget * *list;list;QStackedWidget QStackedWidget * *stack;stack;QLabel QLabel * *label1;label1;QLabel QLabel * *label2;label2;QLabel QLabel * *label3;label3;在文件开始部分添加以下头文件:#include #include #include 3.33.3 堆栈窗体QStackedWidgetQStackedWidget类(3)打开“stackdlg.cpp”文件,在停靠窗体Stack
8、Dlg类的构造函数中添加代码。(4)在stackdlg.cpp文件的开始部分加入以下头文件:#include (5)运行程序,显示效果如图3.4所示。3.4 3.4 基本布局(基本布局(QLayoutQLayout)Qt提供了QHBoxLayout类、QVBoxLayout类及QGridLayout类等的基本布局管理,分别是水平排列布局、垂直排列布局和网格排列布局。它们之间的继承关系如图3.6所示。3.4 3.4 基本布局(基本布局(QLayoutQLayout)addWidget()方法用于向布局中加入需要布局的控件,addWidget()的函数原型如下:void addWidget(QWi
9、dget *widget, /需要插入的控件对象int fromRow, /插入的行int fromColumn, /插入的列int rowSpan, /表示占用的行数int columnSpan, /表示占用的列数Qt:Alignment alignment=0 /描述各个控件的对齐方式)addLayout ()方法用于向布局中加入需要布局的子布局,addLayout ()的函数原型如下:void addLayout(QLayout *layout, /表示需要插入的子布局对象int row, /插入的起始行int column, /插入的起始列int rowSpan, /表示占用的行数in
10、t columnSpan, /表示占用的列数Qt:Alignment alignment=0 /指定对齐方式)3.4 3.4 基本布局(基本布局(QLayoutQLayout)本节将通过实现一个“用户基本资料修改”的功能表来介绍如何使用基本布局管理,如QHBoxLayout类、QVBoxLayout类及QGridLayout类,效果如图3.7所示。3.4 3.4 基本布局(基本布局(QLayoutQLayout)本实例共用到四个布局管理器,分别是LeftLayout、RightLayout、BottomLayout和MainLayout,其布局框架如图3.8所示。3.4 3.4 基本布局(基本布局(QLayoutQLayout)(1)新建Qt Gui应用,项目名称为“UserInfo”,基类选择“QDialog”,取消“创建界面”复选框的选中状态。(2)打开“dialog.h”头文件,在头文件中声明对话框中的各个控件。添加代码所示。添加如下的头文件:#include #include #include #include #include 3.4 3.4 基本布局(基本布局(QLayoutQLayout)(3)打开“dialog.cpp”文件,在类Dialog的构造函数中添加代码。(4)在“dialog.cpp”文件的开始部分加入以下头文件:#include#include#inc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度建筑木工环保建材研发与应用合同
- 2025年度城市更新工程款支付保证委托担保合同
- 邵阳2024年湖南邵阳市隆回县部分事业单位招聘20人笔试历年参考题库附带答案详解
- 绥化2024年黑龙江绥化市北林区事业单位招聘77人笔试历年参考题库附带答案详解
- 深圳2024年广东深圳市环境科学研究院招聘(第二批)笔试历年参考题库附带答案详解
- 枣庄2025年山东枣庄市商务发展促进中心高层次急需紧缺人才招聘2人笔试历年参考题库附带答案详解
- 2025年中国复合材料篮球板市场调查研究报告
- 2025年中国全自动锅炉软化水装置市场调查研究报告
- 2025年车门总成项目可行性研究报告
- 2025至2031年中国遥信电源浪涌保护器行业投资前景及策略咨询研究报告
- 项目部、公司成本管理流程图
- CCAA 基于风险的认证合规管理-认证档案质量管理的风险控制
- 高中英语选择性必修二 Unit 1 Period 1 Reading and thinking(课件)(共38张)
- 小学生电子小报通用模板-A4电子小报15
- CAS云计算软件平台深入介绍
- 课堂教学方法与手段(课堂PPT)课件(PPT 16页)
- 固定资产投资统计培训PPT课件
- 一年级上册必背古诗
- 平顶山第四届名师名班主任名校长培养方案
- 2.通信光缆线路(管道)工程施工及验收技术规程要点
- 蒸压加气混凝土砌块作业指导书(共14页)
评论
0/150
提交评论