绝对定位

绝对定位有以下限制

1、如果调整窗口,控件的大小和位置不会改变

2、在各种平台上应用程序看起来不会一样

3、如果改变字体,我们的应用程序的布局就会改变

4、如果我们决定改变我们的布局,我们必须完全重做我们的布局

def initUI(self):
lbl1 = QLabel('Zetcode', self)
lbl1.move(15, 10)  # 放在窗口的(15,10)位置
lbl2 = QLabel('tutorials', self)
lbl2.move(35, 40)  # 放在窗口的(35,40)位置
lbl3 = QLabel('for programmers', self)
lbl3.move(55, 70)  # 放在窗口的(55,70)

# 要导入from PyQt5 import QLable

框布局Boxlayout

QHBoxLayout水平布局,QVBoxLayout垂直布局

# 要导入from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout

hbox = QHBoxLayout()

# 创建一个水平布局实例

hbox.addWidget(Button)

# 在水平布局里面添加按钮Button,也能添加别的,比如垂直布局的实例xbox

vbox = QVBoxLayout()

# 创建一个垂直布局实例

vbox.addLayout(hbox)

# 在垂直布局里面添加水平布局,也能添加别的,比如水平布局的实例hbox

hbox/vbox.addStretch(1)

# 在水平/垂直布局里面添加可扩展空间,相当于一块空白区域

self.setLayout(vbox) 

# 设置垂直布局

表格布局QGridLayout

表格布局将空间划分为行和列。我们使用QGidLayout类创建一个网络布局

grid = QGridLayout() 

# 创建网格式布局实例

# 要导入 fron PyQt5.QWidgets import QGridLayout

self.setLayout(grid)

# 设置表格布局

title = QLabel('Title')

# 创建title文本标签实例

titleEdit = QLineEdit()

# 创建行编辑标签实例titleEdit

reviewEdit = QTextEdit()

# 创建文本编辑标签实例reviewEdit

grid.setSpacing(10)

# 标签和标签之间的上下距离为10

grid.addWidget(titleEdit, 1, 1) # 把titleEdit行编辑实例放在第一行第一列(提示:计算机中存在第0列)

grid.addWidget(title, 1, 0) # 把title文本实例放在第一行第零列

grid.addWidget(reviewEdit, 3, 1, 5, 1)  # 位置在第三行第一列,大小占5行一列

PyQt 5布局管理的更多相关文章

  1. pyqt布局管理器

    有时候,碰到错误: QWidget::setLayout: Attempting to set QLayout “” on MainWindow “”, which already has a lay ...

  2. pyqt布局管理器QGridLayout简单示例

    # _*_ coding:utf-8 _*_ import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__ ...

  3. [ PyQt入门教程 ] Qt Designer工具的布局管理

    这节课很重要..界面整洁美观与否就看布局了..这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了.. 本文主要讲述Qt Designer工具实现界面控件布局管理,就是排列组合控件.包括水平布局 ...

  4. PyQt5之布局管理

    目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGr ...

  5. PyQt5(2)——调整布局(布局管理器)第一个程序

    我们拖拽一个UI文件,转为PY文件后生成一个类Ui_MainWindow 此时,我们新建一个文件,用来控制业务逻辑(继承界面中的类),跟界面分开,这样我们就完成了界面和逻辑相分离(这段代码使用率基本1 ...

  6. Swing布局管理器介绍

    创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...

  7. java基础 布局管理器

    概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理 ...

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

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

  9. JAVA GUI布局管理器

    边界布局管理器: a.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...

随机推荐

  1. Linux系统下超级用户密码的修改

    1)重启系统:在虚拟机刚启动界面,不停地按上下键,停止系统的自动引导(界面底部有提示) 2) 按 e 进入编辑模式 3) 编辑内容如下:完成后按Ctrl+x    (具体编辑内容为下图:删除倒数第三行 ...

  2. Linux:tr命令详解

    tr tr命令可以对来自标准输入的字符进行替换.压缩和删除 语法 tr(选项)(SET1 SET2) 选项 -c或——complerment:取代所有不属于第一字符集的字符: -d或——delete: ...

  3. CUDA Samples: Julia

    以下CUDA sample是分别用C++和CUDA实现的绘制Julia集曲线,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第四章,各个文件内 ...

  4. 手游服务端框架之使用Guava构建缓存系统

    缓存的作用与应用场景 缓存,在项目中的应用非常之广泛.诸如这样的场景,某些对象计算或者获取的代码比较昂贵,并且在程序里你不止一次要用到这些对象,那么,你就应该使用缓存. 缓存跟java的Coucurr ...

  5. 【剑指offer】09-2跳台阶,C++实现

    原创博文,转载请注明出处! # 本文是牛客网<剑指offer>刷题笔记 1.题目 # 一只青蛙一次可以跳1级台阶,也可以跳2级.求该青蛙跳n级的台阶总共有多少种跳法. 2.思路 # 跳0级 ...

  6. Linux下nginx安装与配置

    部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成. nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++, ...

  7. BZOJ4999:This Problem Is Too Simple!(DFS序&树上差分&线段树动态开点:区间修改单点查询)

    Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将i节点的值改为x. 2. Q i j x(0<=x&l ...

  8. ueditor编辑器【实际项目使用】

    [页面效果] [代码] 说明: ueditor插件的公共代码: 如果是一个可以放在对应模块的js代码中   如果有多个就要提到全局的高度(即提到公共部分) <script type=" ...

  9. 二次剩余-Cipolla

    二次剩余 \(Cipolla\) 算法 概述 大概就是在模 \(p\) 意义下开根号,如求解方程\(x^2\equiv n(mod\ p)\). 这里只考虑 \(p\) 为素数的情况.若 \(p=2\ ...

  10. Page View Controllers

    Page View Controllers You use a page view controller to present content in a page-by-page manner. A ...