Qt 布局那些事是本文介绍的内容,直接进入主题。GridLayout是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout有两个构造函数.

先说下GridLayout

GridLayout的意思是按照网格布局,我记得这个在java中的GUI布局也有这个。比较容易理解,就好比一个一个的方格,我们先来看看Qt文档中给出的定义:

  1. void QGridLayout::addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )
  2. void QGridLayout::addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )

第一个的布局的参数的意思依次为:QGridLayoutName,行号,列号。

第二个的布局的参数的意思依次为:QGridLayoutName,行号,列号,行宽,列宽。

最后,要将设置好的布局添加进去,setLayout(yourLayout);

下面是写的一个简单的小例子:

  1. QLabel* nameLabel=new QLabel(tr("Name"));
  2. QLineEdit* nameLine=new QLineEdit;
  3. QLabel* addressLabel=new QLabel(tr("Address"));
  4. QTextEdit* addressText=new QTextEdit;
  5. //布局采用gridLayout
  6. QGridLayout* mainlayout=new QGridLayout;
  7. mainlayout->addWidget(nameLabel,0,0,1,1);
  8. mainlayout->addWidget(nameLine,0,1,1,3);
  9. mainlayout->addWidget(addressLabel,1,0,3,1,Qt::AlignTop);
  10. mainlayout->addWidget(addressText,1,1,3,3);
  11. setLayout(mainlayout);

关于addStretch()

  1. QVBoxLayout* buttonLayout=new QVBoxLayout;
  2. buttonLayout->addWidget(addButton);
  3. buttonLayout->addWidget(submitButton);
  4. buttonLayout->addWidget(cancelButton);
  5. buttonLayout->addStretch();

上面这一段加不加最后一句的效果如下图:

小结:浅谈 Qt 布局那些事的内容介绍完了希望本文对你有所帮助!更多内容请参考编辑推荐。

最新文章

  1. 前端框架 EasyUI (2)页面布局 Layout
  2. SVProgressHUD
  3. 上个项目的一些反思 II
  4. C语言共用体(Union)
  5. 轻松获取LAMP或LNMP环境编译参数
  6. 在ASP.NET MVC中使用Unity进行依赖注入的三种方式
  7. centos-6.5 安装apache
  8. WWDC15 Session笔记 - Xcode 7 UI 测试初窥
  9. 【Java基础】java 获得本日,本周,本月的时间戳区间
  10. effective c++ (一)
  11. ASP.NET MVC Spring.NET 整合
  12. Microsoft SQL Server 2008 安装图解(Windows 7)
  13. ubuntu14.04 安装tar.gz文件
  14. opencv MAT数据操作
  15. ab返回结果参数分析
  16. json 对象和json字符串
  17. 简单MVC实现增删改查
  18. easyui的datagrid
  19. maven 下载不到jar包时候,更改阿里源
  20. 彻底删除vscode及安装的插件和个人配置信息

热门文章

  1. selenium+java处理鼠标悬停
  2. 完整的html+css+javascript实现跟随鼠标移动显示选中效果
  3. poj 2396 Budget 边容量有上下界的最大流
  4. JS 正则表达式的位置匹配ZZ
  5. 在SAE上使用Ueditor的图片上传功能
  6. 开源ext2read代码走读之-在windows下怎样推断有几个硬盘设备?
  7. php5.5安装笔记
  8. php利用反射真正实现多继承(非接口模拟)
  9. JDBC整理
  10. Oracle DBA优化数据库性能心得