Qt5开发及实例(第2版)第3章Qt5布局管理.ppt
《Qt5开发及实例(第2版)第3章Qt5布局管理.ppt》由会员分享,可在线阅读,更多相关《Qt5开发及实例(第2版)第3章Qt5布局管理.ppt(28页珍藏版)》请在三一办公上搜索。
1、第3章 Qt 5布局管理,分割窗口QSplitter类,停靠窗口QDockWidget类,堆栈窗体QStackedWidget类,基本布局(QLayout),【综合实例】:修改用户资料,3.1 分割窗口QSplitter类,【例】(简单)一个十分简单的分割窗口功能,整个对话框由三个窗口组成,各个窗口之间的大小可随意拖曳改变,效果如图3.1所示。,3.1 分割窗口QSplitter类,本实例采用编写代码的方式实现,具体步骤如下。(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“Splitter”,基类选择“QMainWindow”,取消“创建界面”复选框的选
2、中状态。(2)在上述工程的“main.cpp”文件中添加代码。(3)在“main.cpp”文件的开始部分加入以下头文件:#include#include#include(4)运行程序,显示效果如图3.1所示。,3.2 停靠窗口QDockWidget类,停靠窗口QDockWidget类也是应用程序中经常用到的,设置停靠窗口的一般流程如下。(1)创建一个QDockWidget对象的停靠窗体。(2)设置此停靠窗体的属性,通常调用setFeatures()及setAllowedAreas()两种方法。(3)新建一个要插入停靠窗体的控件,常用的有QListWidget和QTextEdit。(4)将控件插
3、入停靠窗体,调用QDockWidget的setWidget()方法。(5)使用addDockWidget()方法在MainWindow中加入此停靠窗体。,3.2 停靠窗口QDockWidget类,【例】(简单)停靠窗口QDockWidget类的使用:窗口1只可在主窗口的左边和右边停靠;窗口2只可在浮动和右部停靠两种状态间切换,并且不可移动;窗口3可实现停靠窗口的各种状态。效果如图3.2所示。实例文件见光盘CH302。,3.2 停靠窗口QDockWidget类,(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“DockWindows”,基类选择“QMainW
4、indow”,类名命名为“DockWindows”,取消“创建界面”复选框的选中状态,如图3.3所示。,3.2 停靠窗口QDockWidget类,(2)DockWindows类中只有一个构造函数的声明。代码如下:class DockWindows:public QMainWindow Q_OBJECTpublic:DockWindows(QWidget*parent=0);DockWindows();(3)打开“dockwindows.cpp”文件,DockWindows类构造函数实现窗口的初始化及功能实现,具体代码。(4)在“dockwindows.cpp”文件的开始部分加入以下头文件:#i
5、nclude#include(5)运行程序,显示效果如图3.2所示。,3.3 堆栈窗体QStackedWidget类,【例】(简单)堆栈窗体QStackedWidget类的使用,当选择左侧列表框中不同的选项时,右侧显示所选的不同的窗体。在此使用列表框QListWidget,效果如图3.4所示。,3.3 堆栈窗体QStackedWidget类,(1)新建Qt Widgets Application(详见1.3.1节),项目名称为“StackedWidget”,基类选择“QDialog”,类名命名为“StackDlg”,取消“创建界面”复选框的选中状态,如图3.5所示。,3.3 堆栈窗体QStac
6、kedWidget类,(2)打开“stackdlg.h”文件,添加如下加黑代码:class StackDlg:public QDialogQ_OBJECTpublic:StackDlg(QWidget*parent=0);StackDlg();private:QListWidget*list;QStackedWidget*stack;QLabel*label1;QLabel*label2;QLabel*label3;在文件开始部分添加以下头文件:#include#include#include,3.3 堆栈窗体QStackedWidget类,(3)打开“stackdlg.cpp”文件,在停靠窗
7、体StackDlg类的构造函数中添加代码。(4)在stackdlg.cpp文件的开始部分加入以下头文件:#include(5)运行程序,显示效果如图3.4所示。,3.4 基本布局(QLayout),Qt提供了QHBoxLayout类、QVBoxLayout类及QGridLayout类等的基本布局管理,分别是水平排列布局、垂直排列布局和网格排列布局。它们之间的继承关系如图3.6所示。,3.4 基本布局(QLayout),addWidget()方法用于加入需要布局的控件,方法原型如下:void addWidget(QWidget*widget,/需要插入的控件对象int fromRow,/插入的行
8、int fromColumn,/插入的列int rowSpan,/表示占用的行数int columnSpan,/表示占用的列数Qt:Alignment alignment=0/描述各个控件的对齐方式),3.4 基本布局(QLayout),addLayout()方法用于加入子布局,方法原型如下:void addLayout(QLayout*layout,/表示需要插入的子布局对象int row,/插入的起始行int column,/插入的起始列int rowSpan,/表示占用的行数int columnSpan,/表示占用的列数Qt:Alignment alignment=0/指定对齐方式),3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Qt5 开发 实例 布局 管理

链接地址:https://www.31ppt.com/p-5598547.html