17-第五章 Qt程序设计1-布局管理器_第1页
17-第五章 Qt程序设计1-布局管理器_第2页
17-第五章 Qt程序设计1-布局管理器_第3页
17-第五章 Qt程序设计1-布局管理器_第4页
17-第五章 Qt程序设计1-布局管理器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

——基于Qt(Windows)版医用仪器软件设计MedicalInstrumentSoftwareDesign2022第5章Qt程序设计1-——BasedonQt(WindowsEdition)布局管理器关于这节课Aboutthiscourse.“在Qt程序设计的过程中,有4个非常重要的概念需要熟练掌握,分别为布局管理器,信号与槽,模态、半模态和非模态对话框,以及多线程,本章将详细介绍这4个概念。One

目录实验内容实验原理实验步骤本节任务实验内容

在设计模式下设计界面时,从控件栏中移出的控件是可以随意摆放的,若使用手动对齐的方式,不仅费时费力,最终实现的效果也不理想。因此,对一个完善的应用程序而言,布局管理是必不可少的一部分。无论是想要界面中的控件有一个整齐的布局,还是想让界面能适应窗口的大小变化,都需要进行布局管理。Qt主要提供了QLayout类及其子类QVBoxLayout、QHBoxLayout、QGridLayout和QFormLayout等作为布局管理器,用来实现常用的布局管理功能,QLayout类及其子类的关系如下图所示。控件栏中布局管理组下的4个控件分别属于以上4个布局管理器。本节主要介绍这些布局管理器的用法。实验原理

垂直布局管理器QVBoxLayout可以使子控件在垂直方向上排成一列,如右图所示。

进行界面设计的方式有两种:①打开ui文件后,在设计模式下直接将控件栏中的控件移入界面中进行摆放,并在属性设置框中设置属性;②通过编写代码的方式创建界面,并完成向界面中添加控件和设置控件属性等步骤。两种方法各有优劣,因此,可以采用二者相结合的方式来完成界面设计。

使用方法①实现右图的界面比较简单直观,只需从控件栏中将VerticalLayout控件移入界面,然后再将3个PushButton控件移入VerticalLayout控件中,最后依次修改PushButton按钮的文本即可。1.QVBoxLayout

这里主要介绍方法②,代码如下:

还有一些常用的方法如下:2.QHBoxLayout

水平布局管理器QHBoxLayout可以使子控件在水平方向上排成一行,其用法与QVBoxLayout基本一致,代码如下,效果如右凸所示:3.QgridLayout

网格布局管理器QGridLayout可以使子控件按网格的形式来布局,管理器中的控件被划分为行和列,行和列的交叉形成一个个单元格,控件即可放入这些单元格中。

通常将控件放进网格布局管理器的一个单元格中即可,但有些控件也可能需要占用多个单元格,这时就需要用到addWidget()方法的一个重载版本,原型如下:voidQGridLayout::addWidget(QWidget*widget,intfromRow,intfromColumn,introwSpan,intcolumnSpan,Qt::Alignmentalignment=Qt::Alignment())。

row和column分别为控件开始的行数和列数,rowSpan和columnSpan分别是控件占用的行数和列数。用法示例如下:4.QFormLayout

表单布局管理器QFormLayout用来管理表单的输入控件和与之相关的标签。表单布局管理器将子控件分为两列,左边一列通常为标签,右边一列通常为一些输入部件,如行编辑框LineEdit和数字显示框SpinBox等。

可以通过addRow()方法来添加表单项,即创建一个带有指定文本的QLabel和QWidget控件行,该方法原型为

voidQFormLayout::addRow(constQString&labelText,QWidget*field)具体用法和效果如下:5.布局管理器嵌套使用

在进行一些复杂的界面设计时,仅使用一种布局管理器往往会使界面过于单调,且有些布局需要较大的代码量才能实现。这时就需要灵活使用多种布局管理器,多种布局管理器之间除了可以独立使用,还可以嵌套使用。实验步骤新建

温馨提示

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

最新文档

评论

0/150

提交评论