绝对定位

绝对定位有以下限制

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行一列

转载于:https://www.cnblogs.com/LXP-Never/p/9531047.html

PyQt 5布局管理相关推荐

  1. pyqt 控件焦点_PyQt5(2)——调整布局(布局管理器)第一个程序

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

  2. pyqt——布局管理

    布局管理 在一个GUI程序里,布局是一个很重要的方面.布局就是如何管理应用中的元素和窗口.有两种方式可以搞定:绝对定位和PyQt5的layout类 绝对定位 每个程序都是以像素为单位区分元素的位置,衡 ...

  3. Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)

    目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...

  4. Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

    目录 1.布局管理器进行布局 2.容器控件进行布局 3.geometry属性:控件绝对布局 4.sizePolicy属性:微调优化控件布局 Qt Designer提供4种窗口布局方式,分别如下: Ve ...

  5. myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...

    在主窗口中放置多个控件,最好的方法是使用布局.控件的布局是学习PyQt路上比较关键也也是比较难理解的部分,赶快跟着木辛老师一起去看看吧. 请点击右上角"关注"按钮关注我们哟:跟着木 ...

  6. PyQt5学习Ⅱ(菜单,工具栏和布局管理)

    在PyQt5教程的这一部分中,我们创建了创建状态栏,菜单栏和工具栏.菜单是位于菜单栏中的一组命令.工具栏上有按钮,其中包含应用程序中的一些常用命令 状态栏显示状态信息,通常位于应用程序窗口的底部. Q ...

  7. Swing布局管理器介绍

    当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理.JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout. ...

  8. python布局管理_PyQt5每天必学之布局管理

    这篇文章主要为大家详细介绍了PyQt5每天必学之布局管理的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在GUI编程中有一个不容忽视的部分,那就是布局管理.布局管理掌控着我们的控件在应用 ...

  9. JAVA图形界面(GUI)之布局管理器

    一个友好的读者界面是一款软件成功的关键因素之一.布局管理器就是用来管理读者的界面.摆放的效果直接影响到界面是否美观.布局管理器通过布局管理类来对各种读者组件进行管理. 使用布局管理器,不仅可以有序的排 ...

最新文章

  1. 【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )
  2. MYSQL.版本查看-LINUX
  3. 机器学习中的训练集,验证集及测试集的关系
  4. 推荐一些优秀的JavaScript开发框架
  5. Shell脚本语言与编译型语言的差异
  6. 优秀程序员的 18 大法则【转载】
  7. [转]VS2010+MFC解析Excel文件中数据
  8. notepad++ 使用去掉自动检查红线
  9. php使用excel表格数据处理,php上传excel表格并获取数据
  10. ssh放行端口_安全组中已经添加规则放行SSH端口的访问之后使用f1 RTL的方法
  11. [Swift]LeetCode198. 打家劫舍 | House Robber
  12. window 平台下mysql主从的监控(window执行计划配合vb脚本)
  13. 响应式编程笔记三:一个简单的HTTP服务器
  14. fastboot下载大镜像报错 remote: data too large
  15. Objective-c 开发环境
  16. 这里有最新最全最专业的便携图形工作站硬件配置方案,来看看?
  17. windows, macos 和 linux 各平台的哈希校验方法汇总
  18. 微信摇一摇服务器实现,微信摇一摇事件通知
  19. About Contest and Trainning
  20. 云旗OS助手火了!可一站式体验统信UOS

热门文章

  1. golang数据类型与MySQL数据类型的对应
  2. MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)
  3. PHP高手如何修炼?
  4. 【IM】关于半监督学习的理解
  5. 【Python-ML】SKlearn库感知器(perceptron) 使用
  6. undefined reference to `_imp___Py_NoneStruct'
  7. java string blog_StringUtils方法全集
  8. 点击切换div 的隐藏与显示
  9. 数组的相关操作2——筛选数组
  10. 第三方模块——nodemon是一个命令行工具,用以辅助项目开发、nrm ( npm registry manager ):npm下载地址切换工具