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.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...
随机推荐
- 20165202 预备作业3 Linux安装及学习
一.虚拟机安装 娄老师的<基于VirtualBox安装Ubuntu图文教程>对于安装过程的介绍很易懂,但在安装过程中还是遇到了一些问题 Q1:安装教程中下载地址的VM提示安装包损坏 解决办 ...
- L156
China has specified the definition and diagnosis standard for internet addiction in its latest adole ...
- Unity3D 屏幕空间雪场景Shader渲染
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...
- Vim技能修炼教程(8) - 多窗口
多窗口 如果一个vim只能开一个窗口,那肯定是有点low.尤其是写代码的时候,打开多个文件是经常的需求. 速成教程 横着切成两个 :split 文件名 上下切换窗口 Ctrl-W加上上下键,可以实现上 ...
- apache 支持.htaccess重写url
1. httpd.conf 添加: <Directory /> Options +Indexes +FollowSymLinks +Multiviews AllowOverride all ...
- 框架重构:测试中的DateTime.Now
存在的问题 DateTime.Now是C#语言中获取计算机的当前时间的代码: 但是,在对使用了DateTime.Now的方法进行测试时,由于计算机时间的实时性,期望值一直在变化.如:计算年龄. pub ...
- discuz数据库迁移,改密码后,相关配置文件修改
网上看到这篇文章,觉得有用就收藏下 网站系统需要修改的位置有两处 Discuz 和 UC-center ①路径:/wwwroot/config/config_global.php 这个根据你网站安装的 ...
- 进阶的Redis之数据持久化RDB与AOF
大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存.但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里 ...
- Core Animation1-简介
一.Core Animation简介 * Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代 ...
- Java中16进制与字符串之间的相互转换
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进 ...