




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
QtC++第七章Qt部件布局主要提要213Qt布局管理器Qt分裂器QSplitterQt栈空间QStackedWidget4Qt工作空间QWorkSpace5综合应用案例布局管理器,它是Qt提供的自动安排子部件位置的东西,布局管理可以为我们节省很多对位置的调节工作。Qt的布局管理器将为管理的窗口部件选择最优尺寸,以便窗口可以顺利的重新调整大小。窗口子部件在主窗口中的位置及大小应该是固定的,一般通过以下三种方式来确定:绝对位置setGeometry(x,y,width,height),部件不自动随父窗体的变化而变化。手动布局setGeometry(x,y,width,height)和重写resizeEvent()事件改变父子窗体之间的联系布局管理器:Qt封装了布局管理器类,能够得到控件的最大、最小尺寸,在窗口尺寸改变时自动调整控件。7.1Qt布局管理器绝对定位--直接在像素级指定各个组件的位置和大小voidQWidget::move(intx,inty)voidQWidget::resize(intw,inth)--组件位置和大小无法自适应父窗口的变化布局管理器--提供相关的类对界面组件进行布局管理能够自动排列窗口中的界面组件窗口变化后自动更新界面组件的大小QLayout
是Qt布局管理器中抽象的基类QBoxLayout
QGridLayout
QFormLayout
QStackedLayout这几个类都继承自QLayout。7.1Qt布局管理器一、常用的基本布局管理器类:QHBoxLayout:水平布局
QVBoxLayout:垂直布局QGridLayout:表格布局它们之间的继承关系如图:7.1Qt布局管理器二、常用的基本布局管理器类使用方法:1、QHBoxLayout和QVBoxLayout用法相同基本用法:QVBoxLayout*vlayout=newQVBoxLayout;vlayout->addWidget(w1);vlayout->addWidget(w2);7.1Qt布局管理器二、常用的基本布局管理器类使用方法:2、QGridLayout基本用法
QGridLayout*layout=newQGridLayout;layout->addWidget(w1,row,col,rowSpan,columnSpan);layout->addWidget(w2,row,col,rowSpan,columnSpan);(row,col):控件占据左上角的单元格位置rowSpan:控件占据的行数columnSpan:控件占据的列数(不写默认为1)6.1Qt布局管理器二、常用的基本布局管理器类使用方法:3、QFormLayout
左侧添加标签,右侧添加widget或layoutvoidaddRow(QWidget*label,QWidget*field)voidaddRow(QWidget*label,QLayout*field)左侧使用QFormLayout自带标签,右侧增加widget或layoutvoidaddRow(constQString&labelText,QWidget*field)voidaddRow(constQString&labelText,QLayout*field)跨越两列增加widget或layoutvoidaddRow(QWidget*widget)voidaddRow(QLayout*layout)6.1Qt布局管理器二、常用的基本布局管理器类使用方法:3、QFormLayout基本用法
QFormLayout*layout=newQformLayout;layout->addRow(label,lineEdit);layout->addRow(label,vHLayout);layout->addRow(“name”,lineEdit);layout->addRow(“tel”,vHLayout);layout->addRow(btnOk);//voidremoveRow(introw)//voidinsertRow(introw,QWidget*label,QWidget*field)6.1Qt布局管理器二、常用的基本布局管理器类使用方法:4、布局管理器类位置改变用法
QGridLayout*layout;(1)将布局与主窗体建立联系:layout=newQHBoxLayout(this);或者this->setLayout(layout);(2)可伸缩的空间:layout->addStretch();(3)布局内控件水平居中:
layout->setAlignment(Qt::AlignHCenter);(4)控件间隔为10:layout->setSpacing(10);(5)页边距为10:layout->setMargin(10);7.1Qt布局管理器二、常用的基本布局管理器类使用方法:4、布局管理器类大小改变用法结合SizePolicy属性控制布局管理中的控件的尺寸自适应方式也就是控件随主窗体伸缩方式(可自行增大或缩小)QSizePolicy::Fixed:不能放大或缩小QSizePolicy::Minimum:不能小于sizeHint尺寸,可放大(若设置了最大尺寸)QSizePolicy::Maximum:不能放大,可缩小到允许的最小尺寸(若setMinimumSize(10,10)只能缩小到10,10))不能放大或缩小7.1Qt布局管理器二、常用的基本布局管理器类使用方法:4、布局管理器类应用例:布局中有左右两控件,进行如下设置后,两个控件的大小有何变化?7.1Qt布局管理器sizePolicy.setHorizontalStretch(1);sizePolicy.setVerticalStretch(0);left->setSizePolicy(sizePolicy);sizePolicy.setHorizontalStretch(2);sizePolicy.setVerticalStretch(0);left->setSizePolicy(sizePolicy);水平伸展比(1,2)垂直伸展比例(0,0)三、常用的基本布局管理器类举例:案例1、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例1、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例1、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例2、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例2、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例2、如图,控件如何布局7.1Qt布局管理器三、常用的基本布局管理器类举例:案例2、如图,控件如何布局7.1Qt布局管理器主要提要213Qt布局管理器Qt分裂器QSplitterQt栈空间QStackedWidget4Qt工作空间QWorkSpace5综合应用案例一、Qt分裂器QSplitter是一个带切分条(splitterhandle)的布局管理器,可以通过setHandleWidth()函数来设置切分条的宽带。QSplitter控件可以将窗口分成两个子窗口,被一个分隔条隔开,托拽这个分隔条,可以改变splitter的子控件的大小。QSplitter一次只能水平或者垂直分割QSplitter控件经常做为布局管理器使用,提供更多的界面控制。7.2Qt分裂器部件QSplitter一、Qt分裂器成员函数(1)新建分裂器窗口:QSplitter*splitterMain=newQSplitter(Qt::Horizontal,0);QSplitter*splitter=newQSplitter(Qt::Vertical,splitterMain);//第一个参数通过Qt::Horizontal和Qt::Vertical来设定为水平分割或垂直分割。第二个设定0代表是主窗口,无父窗口。(2)添加QTextEdit控件。
QTextEdit*textLeft=newQTextEdit(“Lefttest”,splitterMain);或者:
QTextEdit*textLeft=newQTextEdit(“Lefttest”
);
splitterMain->addWidget(textLeft);//insertWidget()方法//第一个参数设置文本内容,第二个参数设置主窗体。
(3)显示主分裂器窗口
splitterMain->show();7.2Qt分裂器部件QSplitter二、Qt分裂器应用创建如图所示的窗口。7.2Qt分裂器部件QSplitter二、Qt分裂器应用创建如图所示的窗口。7.2Qt分裂器部件QSplitter主要提要213Qt布局管理器Qt分裂器QSplitterQt栈空间QStackedWidget4Qt工作空间QWorkSpace5综合应用案例一、栈部件QStackedWidget控件中文称作“栈控件”。Qt提供了这样一个栈控件,该栈控件可以用管理窗口部件。栈控件只显示栈顶的控件,所以只能提供一个窗口部件被显示。使用raiseWidget()函数把栈中任何其他控件移到栈顶,从而实现控件之间的切换。7.3栈部件QStackedWidget二、栈部件成员函数QStackedWidget
*stackedWidget=newQStackedWidget(this);把控件w添加到该栈控件中stackedWidget->addWidget(w);把控件w升到该控件栈的栈顶stackedWidget->raiseWidget(w);把控件w从该控件栈中删除stackedWidget->removeWidget(w);7.3栈部件QStackedWidget三、栈部件应用7.3栈部件QStackedWidget主要提要213Qt布局管理器Qt分裂器QSplitterQt栈空间QStackedWidget4Qt工作空间QWorkSpace5综合应用案例一、工作空间QWorkspace窗口部件提供了可以包含内部窗口(例如,多文档界面MDI)的工作区窗口。一个多文档界面(MDI)应用程序有一个带菜单条的主窗口。这个窗口的中央窗口部件就是一个工作区。工作区自己是一个普通Qt窗口部件。父对象通常使用QMainWindow。QWorkspace会把文档窗口的最小化、恢复和关闭按钮从文档窗口的框架上移到工作区窗口的菜单条中。QWorkspace提供了两个内置的对子窗口的布局策略:cascade()和tile()。QWorkspace通过addWindow(w)方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蜂产品加工工综合考核试卷及答案
- 人工合成晶体工成本控制考核试卷及答案
- 按摩咨询接待服务方案
- 韩束网店营销策划方案
- 建筑方案设计师考核
- 2025版司法局《刑事自诉案件反诉状》(空白模板)
- 玉米须茶营销方案策划
- 屋顶建筑垃圾转运方案设计
- 宿舍建筑方案设计图纸
- 城乡规划建筑方案设计
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 人教版八年级历史上册 第一、二单元 单元测试卷( 2024年秋)
- 《网络安全知识培训》课件完整版
- 物业管理服务交接方案:学校篇
- DZ/T 0462.5-2023 矿产资源“三率”指标要求 第5部分:金、银、铌、钽、锂、锆、锶、稀土、锗(正式版)
- 医务人员培训手卫生规范课件爱国卫生月
- FZ∕T 73066-2020 针织孕产妇文胸
- 华能分布式光伏项目EPC总承包工程投标文件-技
- 芯片封装行业分析
- 幼儿园教育课题研究培训
- 全麻后的病人躁动护理
评论
0/150
提交评论