PyQt5:Box布局(12)

原创 2016年06月01日 00:19:59

学习《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)

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

Pyqt5系列(九)-基本布局管理

GUI的布局管理是GUI开发中非常重要的一个环节,一个设计良好的GUI界面,其对应的布局排布也是非常必须的。其中布局管理就是要管理窗口中部件的放置。常用两种方式来实现布局:绝对位置 布局(Absolu...
  • zhulove86
  • zhulove86
  • 2016年09月17日 16:54
  • 7243

PyQt之QHBoxLayout、QVBoxLayout 与QGridLayout

一. QHBoxLayout 先来看官方对QHBoxLayout 是怎样介绍的,原文如下: The QHBoxLayout class lines up widgets horizont...
  • u011943221
  • u011943221
  • 2015年07月20日 20:55
  • 4132

Qt之水平/垂直布局(QBoxLayout、QHBoxLayout、QVBoxLayout)

简述水平布局,在水平方向上排列控件,即:左右排列。水平布局(QHBoxLayout)、垂直布局(QVBoxLayout)均继承自QBoxLayout,通过查看源码,我们可以发现,水平布局、垂直布局除了...
  • u011012932
  • u011012932
  • 2016年05月30日 13:28
  • 25448

pyqt4文档阅读(6.1):QBoxLayout-QHBoxLayout-QVBoxLayout

QBoxLayout-QHBoxLayout-QVBoxLayout
  • ljhandlwt
  • ljhandlwt
  • 2016年12月01日 20:16
  • 771

PyQt5教程(三)——布局管理

布局管理是GUI编程中的重要部分。布局管理是如何将控件放置于窗体上的技术,它的实现有两种基本方式:绝对布局与layout类。绝对布局程序员要指定每个控件的像素位置与大小。在使用绝对布局时要知道它的局限...
  • baidu_34045013
  • baidu_34045013
  • 2016年08月05日 21:23
  • 3466

PyQt5学习记录(3)---布局管理

布局管理的两种方法布局管理是所有GUI编程中核心内容之一。在Qt里有两种方法可以控制布局,分别是绝对定位和布局类.绝对定位代码:#coding=utf-8 import sys from PyQt5....
  • yanzi1225627
  • yanzi1225627
  • 2017年05月21日 19:17
  • 1221

Eric6与pyqt5学习笔记 3【水平/垂直,网格,窗体四大类布局】

ummm,这段博主时间比较忙,准备下周的比赛还有一个app的开发(即将放到github,欢迎提出意见~),所以学习了好几天才更新第三篇笔记~     上篇学习笔记提到了从最基本的setGeometry...
  • wy_97
  • wy_97
  • 2017年10月31日 23:51
  • 265

PyQt5教程——布局管理(4)

博客园Arthi翻译了zetcode(http://http://zetcode.com/)上的”GUI→PyQt5 tutorial”大部分内容,为了学习用,特地转载其翻译内容。 PyQt5中的布局...
  • eggfreeze123
  • eggfreeze123
  • 2016年12月10日 23:00
  • 435

pyqt5学习(三) 布局管理

布局有两种:绝对定位和PyQt5的布局类 1.绝对定位的意思很明显,就是给定坐标让它出现在某个位置: import sys from PyQt5.QtWidgets import QWidget,QL...
  • qq_33638791
  • qq_33638791
  • 2016年11月21日 19:24
  • 335

PyQt5初级教程--PyQt5中的布局管理[5/13]

想用PyQt5写GUI,但是网上的PyQt5资源太少了,找到一个英文的,翻译一下,和学习PyQt5的同学共勉! (本系列中所有代码在windows7 64位[]/Python 3.4.3 32bit...
  • neverstop_2009
  • neverstop_2009
  • 2015年08月08日 06:07
  • 6354
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:Box布局(12)
举报原因:
原因补充:

(最多只允许输入30个字)