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)

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


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

PyQt4 精彩实例分析* 实例12 基本布局管理

本实例利用基本布局管理(QHBoxLayout,QVBoxLayout,QGridLayout)实现一个类似QQ的用户资料修改页面。实现效果图如下图所示。 Qt提供的布局类以及它们之间的...
  • wdt3385
  • wdt3385
  • 2013年09月18日 16:19
  • 917

PyQt5学习教程12:数学表达式解析程序

本文将介绍一个相对完整的程序,我么可以在程序界面中输入数学表达式,然后点击“确认”按钮,程序会自动对输入的数学表达式进行解析,如果能够解析出正确答案,则在上面的TextBrowser控件中进行显示,否...

PyQt5中文基础教程4 布局管理

布局管理 在一个GUI程序里,布局是一个很重要的方面。布局就是如何管理应用中的元素和窗口。有两种方式可以搞定:绝对定位和PyQt5的布局类 绝对定位 每个程序都是以像素为单位区分元素的位置,衡量...

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

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

pyqt5学习(三) 布局管理

布局有两种:绝对定位和PyQt5的布局类 1.绝对定位的意思很明显,就是给定坐标让它出现在某个位置: import sys from PyQt5.QtWidgets import QWidget,QL...

PYQT5水平布局后垂直方向控件间距的调整方法

最近在做QT做界面设计,软件使用的是QTCreator4.2.1,pyqt5.8.1,使用水平布局做好界面后,在软件中也调整好了控件的间隔,达到了想要设计的效果,如下图。...

PyQt5教程-08-布局管理

在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以使用绝对定位或布局类两种方法控制程序窗口中的控件位置。绝对定...

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

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

HTML5学习_day12(2)--流式布局

流式布局 流式布局的实质:百分比布局 转换公式 目标元素的宽度/上下级元素的宽度(父级元素的宽度)=百分比宽度; 弹性图片 去掉图片的宽高,指定max-width:100%;可以使图片缩...

HTML5学习_day12(1)--html布局

布局的分类 a.静态布局:限制死宽高的网站 传统web设计,不管浏览器具体是多少,网页的布局就一直会按照最开始的布局来显示。 特点:固定死宽高。 b.自适应布局:根据不同显示分辨率各设...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:Box布局(12)
举报原因:
原因补充:

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