关闭

PyQt5:Box布局(12)

573人阅读 评论(0) 收藏 举报
分类:

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

        使用布局类别方式的布局管理器比绝对定位方式的布局管理器更加灵活实用。它是窗口部件的重要布局管理方式。最基本的布局方式是QHBoxLayout和QVBoxLayout方式,分别将窗口部件水平和垂直排列。

         假设我们要讲两个按钮放在窗口的右下角。为创建该布局,我们需要实用一个水平的Box和一个垂直的Box,另外为了创建必须的空白空间,我们还需要添加一个伸缩间隔元素(stretch factor)。

<span style="font-size:14px;">#!/usr/bin/python
# boxlayout.py
from PyQt5.QtWidgets import QApplication,  QPushButton, QHBoxLayout, QVBoxLayout
from PyQt5 import QtWidgets

class Boxlayout(QtWidgets.QWidget):
    def __init__(self,  parent= None):
        QtWidgets.QWidget.__init__(self)
  
        self.setWindowTitle('box layout')
        
        ok = QPushButton('OK')
        cancel = QPushButton('Cancel')
        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(ok)
        hbox.addWidget(cancel)
        
        vbox = QVBoxLayout()
        vbox.addStretch(1)
        vbox.addLayout(hbox)
        
        self.setLayout(vbox)
        self.resize(300,  150)

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = Boxlayout()
    qb.show()
    sys.exit(app.exec_())</span>

        ok = QPushButton('OK')

        cancel = QPushButton('Cancel')

         以上两句用来创建两个按钮(OK和Cancel按钮)

         hbox= QHBoxLayout()

         hbox.addStretch(1)

        hbox.addWidget(ok)

         hbox.addWidget(cancel)

         以上四句用来创建一个水平box布局,然后加入一个伸缩间隔元素与两个按钮。

         vbox= QVBoxLayout()

         vbox.addStretch(1)

         vbox.addLayout(hbox)

         为创建需要的布局,我们使用以上语句创建一个垂直box布局并将水平box布局放入水平box布局中。

         self.setLayout(vbox)

         最后我们设置窗口的主布局。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:51297次
    • 积分:993
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:1篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论