标签: qtlayout
2012-05-05 07:56 3076人阅读 评论(0) 收藏 举报
 分类:
Qt开发(33) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

布局是Qt中用来管理窗口内的子窗口的一种方法。布局本身不是窗口,它类似于一个虚拟的看不见的容器,可以自动调整其内的子窗口或子布局的大小和位置。

布局统一由QLayout类表示,以它作为基类,派生出所有具体的布局类型。其中常用的布局有水平布局、垂直布局和栅格布局,它们分别由QHBoxLayout类,QVBoxLayout类和QGridLayout类代表。这些类的继承关系如下所示:

QLayout

QBoxLayout                                                       QGridLayout

QHBoxLayout                                      QVBoxLayout

注意:布局并不是窗口类,因此布局内放入窗口部件和放入布局的函数是不同的,一个是addWidget,一个是addLayout。

对于一个窗口来说,只能有一个布局成为它的顶级布局,这可以通过向布局的构造函数传递QWidget类的指针来实现,也可以通过QWidget类的以下成员函数实现:

  1. void setLayout(QLayout *layout)

这个函数可以将布局layout设为窗口的顶级布局。

栅格布局的addWidget函数原型与水平布局和垂直布局是不同的,参数上需要指明行号和列号。当然,栅格布局内也可以嵌套其他布局,使用以下函数:

  1. void addLayout(QLayout *layout, int row, int column);

06--Qt窗口布局的更多相关文章

  1. 11.QT窗口布局切割

    int main(int argc, char *argv[]) { QApplication a(argc, argv); //MainWindow w; //w.show(); //左右分割 7 ...

  2. Python GUI教程(六):使用Qt设计师进行窗口布局

    本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容: 使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用“伙伴”将label标签与窗口部件进行连接. ...

  3. qt 窗口控件自动调整大小

    /******************************************************************** * qt 窗口控件自动调整大小 * * 在写gui的时候,希 ...

  4. QLayout窗口布局

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QLayout窗口布局     本文地址:http://techieliang.com/201 ...

  5. Qt之布局管理器

    简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当 ...

  6. 自定义QT窗口部件外观之QStyle

    自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. Q ...

  7. Qt Designer布局预览正常,代码调用时所有控件堆在一起

    一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.问题描述 1.Qt ...

  8. Qt之布局管理--基本布局

    Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...

  9. VS2013中如何更改主题颜色(深色)和恢复默认的窗口布局

    1.通常情况下,我们会根据个人爱好更改VS2013的主题颜色,一开始我喜欢白色,后来我偏爱深色. 依次选择:工具->选项->常规->主题->深色->确定,ok 2.我们在 ...

随机推荐

  1. zoj——1202 Divide and Count

    Divide and Count Time Limit: 2 Seconds      Memory Limit: 65536 KB Jack has several beautiful diamon ...

  2. Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools)

    热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各 ...

  3. HDUJ 2070 Fibbonacci Number

    Fibbonacci Number Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  4. Unity3D开发——LeRunning的人物角色信息的显示

    ///////////////////////2015/08/22/////////////// //////////////////////by    xbw/////////////////// ...

  5. 查看程序占用tomcat内存情况

    近期,公司线上tomcat常常无缘无辜宕机.总结了一下定位问题的方法,仅供參考: 报错信息: Maximum number of threads (200) created for connector ...

  6. 最全Pycharm教程(37)——Pycharm版本号控制之基础篇

    1.主题 介绍Pycharm的版本号控制系统 2.准备工作 (1)Pycharm版本号为2.7或者更高 (2)已经创建一个project.參见Getting Started tutorial (3)安 ...

  7. struct结构体在c和c++中的差别

    非常多次遇到这个struct的问题,今天在这里简单总结一下我的理解 一.struct在C 中的使用 1.单独使用struct定义结构体类型 struct Student { int id; int n ...

  8. C++学习之模板特例化

    模板是C++中一个很重要的特性,写一份代码能用于多种数据类型(包括用户自定义类型).例如,STL的sort()函数可以用于多种数据类型的排序,类stack可以用作多种数据类型的栈.但是,如果我们想对特 ...

  9. swift 2.0 语法 字符串

    //: Playground - noun: a place where people can play import UIKit /*: 字符串 * OC中的字符串是一个对象, Swift中的字符串 ...

  10. LeetCode 9. Palindrome Number (回文数字)

    Determine whether an integer is a palindrome. Do this without extra space. 题目标签:Math 题目给了我们一个int x, ...