PyQt 5布局管理
绝对定位
绝对定位有以下限制
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布局管理的更多相关文章
- pyqt布局管理器
有时候,碰到错误: QWidget::setLayout: Attempting to set QLayout “” on MainWindow “”, which already has a lay ...
- pyqt布局管理器QGridLayout简单示例
# _*_ coding:utf-8 _*_ import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__ ...
- [ PyQt入门教程 ] Qt Designer工具的布局管理
这节课很重要..界面整洁美观与否就看布局了..这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了.. 本文主要讲述Qt Designer工具实现界面控件布局管理,就是排列组合控件.包括水平布局 ...
- PyQt5之布局管理
目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGr ...
- PyQt5(2)——调整布局(布局管理器)第一个程序
我们拖拽一个UI文件,转为PY文件后生成一个类Ui_MainWindow 此时,我们新建一个文件,用来控制业务逻辑(继承界面中的类),跟界面分开,这样我们就完成了界面和逻辑相分离(这段代码使用率基本1 ...
- Swing布局管理器介绍
创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...
- java基础 布局管理器
概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理 ...
- Qt之布局管理--基本布局
Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...
- JAVA GUI布局管理器
边界布局管理器: a.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...
随机推荐
- L147 Low Cost Study Has High Impact Results For Premature Babies
No one knows exactly why some babies are born prematurely(早产), but some of the smallest premature ba ...
- java 静态代理 JDK动态代理 Cglib动态代理
下面以一个简单的银行账户为例讲述讲述动态代理. 设计一个银行账户类,包含用户的账户余额,实现查询和更新余额功能 这个系统用了一段时间,有客户要求对账说账户余额给弄错了?因为上面没有存取款记录,最后银行 ...
- DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)
css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | han ...
- Java跨平台的原理--java跨平台是通过JVM实现的
孙鑫视频---笔记(1-3) java跨平台是通过JVM(java 虚拟机)实现的. Java应用程序的开发周期: 编译.下载.解释.执行. 1.java源文件的编译过程 java编译程序将java源 ...
- React之事件处理
在react中,事件处理的写法和处理方式可能会和vue以及传统html有些不同. 一.事件名和默认行为阻止 事件名采用驼峰写法,并且方法名用大括号引入,而不是双引号: <button onCli ...
- d3.js(v5.7)树状图
一.新建画布 二.数据处理 三.绘制连接线 图示: 四.绘制节点.文字 图示: 五.总结 path元素:其实就是定义了绘图的坐标点,从哪开始,移动到哪,怎样移动(命令) 具体可百度(或许以后我会总结一 ...
- 基于EasyDSS流媒体服务器实现的直播流管理与鉴权的后台方案
本文转自EasyDSS团队Marvin的博客:http://blog.csdn.net/marvin1311/article/details/73548929 最新版本的EasyDSS流媒体解决方案, ...
- 【示例代码】 Tuple<T> Func<T>
using System; using System.Math; namespace PiWithMonteCarlo { /// <summary> /// Trivial, synch ...
- My Reading List - Machine Learning && Computer Vision
本博客汇总了个人在学习过程中所看过的一些论文.代码.资料以及常用的资源与网站,为了便于记录自身的学习过程,将其整理于博客之中. Machine Learning (1) Machine Learnin ...
- Form元素与字体
前言 以前写代码的时候总是喜欢在body元素中写字体属性,用以控制全局字体样式,后来发现表单元素中的字体样式并不能被控制,郁闷的不行. 解决方法 因为表单元素无法继承body的字体属性,所以要单独设置 ...