02:pyqt5的布局管理

布局说白了就是将如何将组件放到我们想要的位置上,即组件如何摆放的问题

1.move()方法布局

1.是什么

简单点就是给定组件的坐标,来放置窗口中的组件

我们先来简单了解一下PyQt的坐标体系,原点坐标是(0,0)位于左上角

请添加图片描述

2.案例代码

import sys
from PyQt5.QtWidgets import *
class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.resize(200, 200)       # 1
        label_1 = QLabel('Label 1', self)
        label_2 = QLabel('Label 2', self)
        label_1.move(-20, 0)        #注释2开始
        label_2.move(50, 100)       #注释2结束
if __name__ == '__main__':
    app = QApplication([])
    window = Window()
    window.show()
    sys.exit(app.exec())

(#1) 调用resize()方法将窗口大小设置为宽200像素,长200像素。

(#2) 调用move()方法分别设置两个QLabel控件的位置。窗口的左上角为坐标原点(0, 0),QLabel1控件的坐标为(−20, 0)意味着控件还往原点左侧移动了一些,这样的话一部分文本就会被遮住

3.缺点

(1)当控件数量很多时,该方法就不再方便了。

因为我们要计算很多个坐标,而且万一其中一个控件的位置要改变,就可能会影响其他所有控件的位置,牵一发而动全身的方法是不推荐的。

(2)使用move()方法还有一个弊端——坐标都是固定的。

也就是说,当我们拉伸窗口时,控件的位置固定不变,并不能够自适应。

2.垂直布局管理器QVBoxLayout

1.是什么

简单点就是将控件从上到下垂直进行摆放,我们可以用QVBoxLayout这个布局管理器来实现,如图所示

请添加图片描述

2.案例代码

import sys
from PyQt5.QtWidgets import *
class Window(QWidget):
    def __init__(self)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值