水平布局、垂直布局

目录

水平布局

垂直布局


水平布局

元素的水平方向的布局

       元素在其父元素中水平方向的位置由一下几个属性共同决定

margin-left

border-left

padding-left

width

padding-right

border-right

margin-right

    一个元素在其父元素中,水平布局必须要满足以下的等式

    margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

        =父元素内容区的宽度(必须满足)

如果相加结果等式不成立,则称为过度约束,则浏览器会让等式自动调整。

  1:如果七个值中没有auto情况,则浏览器会调整margin-right值以使等式满足

   2:这7个值中width,margin-left,margin-right,这三个值可以设置auto。 如果有设置auto,则浏览器会自动调整auto的值,以使等式成立。

   3:如果将一个宽度和一个外边距设置为auto,则宽度会调整到最大

   4:如果三个值都是auto,也只会调整宽度

   5:如果将两个外边距设为auto,宽度固定,则两侧外边距会设置为相同的值会使元素自动在父元素中居中,所以我们经常将左右外边距设置为auto。

垂直布局

默认情况下,父元素的高度是被子元素撑开的,父元素设置了,则设置多少就是多少。

如果子元素的大小超过了父元素,则子元素会从父元素中溢出

        使用overflow属性设置父元素如何处理溢出的子元素

            可选值:

               visible  默认值  子元素会从父元素中溢出,在父元素外部的位置显示

               hidden   溢出的内容将会被裁剪不会显示

               scroll   生成两个滚动条,通过滚动条来查看完整的内容

               auto     根据需要生成滚动条

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要添加水平布局垂直布局,可以使用QHBoxLayout和QVBoxLayout类。下面是修改后的代码示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QHBoxLayout, QVBoxLayout class App(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('My App') self.setGeometry(100, 100, 300, 200) # 设置窗口位置和大小 # 创建水平布局 hbox = QHBoxLayout() label = QLabel('Hello, PyQt5!', self) hbox.addWidget(label) # 将标签添加到水平布局 button1 = QPushButton('Button 1', self) hbox.addWidget(button1) # 将按钮1添加到水平布局 button2 = QPushButton('Button 2', self) hbox.addWidget(button2) # 将按钮2添加到水平布局 # 创建垂直布局 vbox = QVBoxLayout() vbox.addLayout(hbox) # 将水平布局添加到垂直布局 button3 = QPushButton('Button 3', self) vbox.addWidget(button3) # 将按钮3添加到垂直布局 self.setLayout(vbox) # 将垂直布局设置为窗口的主布局 self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_()) ``` 在这个例子中,我们创建了一个水平布局`hbox`和一个垂直布局`vbox`。标签和按钮1、按钮2被添加到水平布局,然后将水平布局添加到垂直布局。最后,按钮3被添加到垂直布局。 通过将垂直布局设置为窗口的主布局,我们可以实现水平垂直布局的组合。你可以根据需要添加更多的控件和调整布局
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值