zoukankan      html  css  js  c++  java
  • 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行一列

  • 相关阅读:
    Windows Azure Cloud Service (5) 由过渡环境向生产环境过渡
    rpcss.dll丢失造成任务栏不见
    css文本省略号
    字符串是否包含中文?
    在 System.NullReferenceException 中第一次偶然出现的“ComServer.exe”类型的异常
    取参数的正则表达式
    EverNote死机的问题
    找尺子
    读书笔记
    水晶按钮的学习
  • 原文地址:https://www.cnblogs.com/LXP-Never/p/9531047.html
Copyright © 2011-2022 走看看