python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例


Posted in Python onMarch 06, 2020

PyQt5布局控件QHBoxLayout简介

采用QBOXLayout类可以在水平和垂直方向上排列控件,QHBoxLayout和QVBoxLayout类继承自QBoxLayout

采用QHBoxLayout类,按照从左到右的顺序来添加控件

QHBoxLayout类中常用的方法如下

方法 描述
addLayout(self,stretch=0) 在窗口的右边添加布局,使用stretch(伸缩量)进行伸缩,伸缩量默认为0
addWidget(self,QWidget.stretch,Qt.Alignmeny alihnment) 在布局中添加控件
stretch(伸缩量),只适用于QBoxLayout,控件和窗口会随着伸缩量的变大而增大
alignment:指定的对齐方式
addSpacing(self,int) 设置各控件的上下间距,通过该方法可以增加额外的控件

QHBoxLayout对齐方式参数

参数 描述
Qt.AlignLeft 水平方向居左对齐
Qt.AlignRight水平方向具有对齐
Qt.AlignCenter 水平方向居中对齐
Qt.AlignJustify 水平方向两端对齐
Qt.AlignTop 垂直方向靠上对齐
Qt.AlignBottom 垂直方向靠下对齐
Qt.AlignVCenter 垂直方向居中对齐

QHBoxLayout水平布局管理实例

import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QHBoxLayout , QPushButton
class Winform(QWidget):
  def __init__(self,parent=None):
    super(Winform,self).__init__(parent)
    self.setWindowTitle("水平布局管理例子") 
    # 水平布局按照从左到右的顺序进行添加按钮部件。
    hlayout = QHBoxLayout()    
    hlayout.addWidget( QPushButton(str(1)))
    hlayout.addWidget( QPushButton(str(2)))
    hlayout.addWidget( QPushButton(str(3)))
    hlayout.addWidget( QPushButton(str(4)))    
    hlayout.addWidget( QPushButton(str(5)))    
    # todo 优化1 设置控件间距
    #hlayout.setSpacing(20)
    self.setLayout(hlayout)  
if __name__ == "__main__": 
    app = QApplication(sys.argv) 
    form = Winform()
    form.show()
    sys.exit(app.exec_())

运行效果图

python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例

优化一:设置各控件之间的间距

hlayout.setSpacing(20)

python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例

QHBoxLayout水平布局对齐方式实例

在某些情况下,需要将布局中的某些控件居中,俱下显示,那么可以通过对齐方式参数Qt.Alignment来设置,示范如下

import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QHBoxLayout , QPushButton
from PyQt5.QtCore import Qt 
class Winform(QWidget):
  def __init__(self,parent=None):
    super(Winform,self).__init__(parent)
    self.setWindowTitle("水平布局管理例子") 
    self.resize(800, 200)
    # 水平布局按照从左到右的顺序进行添加按钮部件。
    hlayout = QHBoxLayout() 
    #水平居左 垂直居上   
    hlayout.addWidget( QPushButton(str(1)) , 0 , Qt.AlignLeft | Qt.AlignTop)
    hlayout.addWidget( QPushButton(str(2)) , 0 , Qt.AlignLeft | Qt.AlignTop)
    hlayout.addWidget( QPushButton(str(3)))
    #水平居左 垂直居下
    hlayout.addWidget( QPushButton(str(4)) , 0 , Qt.AlignLeft | Qt.AlignBottom )    
    hlayout.addWidget( QPushButton(str(5)), 0 , Qt.AlignLeft | Qt.AlignBottom)  
    self.setLayout(hlayout)  
if __name__ == "__main__": 
  app = QApplication(sys.argv) 
  form = Winform()
  form.show()
  sys.exit(app.exec_())

运行效果图如下

python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例

本文主要讲解了关于PyQt5布局控件QHBoxLayout详细使用方法与实例,更多PyQt5布局控件的知识请查看下面的相关链接

Python 相关文章推荐
跟老齐学Python之正规地说一句话
Sep 28 Python
Python装饰器decorator用法实例
Nov 10 Python
Python赋值语句后逗号的作用分析
Jun 08 Python
Python使用爬虫猜密码
Feb 19 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
Python谱减法语音降噪实例
Dec 18 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 Python
基于Django集成CAS实现流程详解
Nov 28 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
python pyg2plot的原理知识点总结
Feb 28 Python
Python+腾讯云服务器实现每日自动健康打卡
Dec 06 Python
Python yield的用法实例分析
Mar 06 #Python
用Python生成HTML表格的方法示例
Mar 06 #Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 #Python
Python修改列表值问题解决方案
Mar 06 #Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 #Python
python-xpath获取html文档的部分内容
Mar 06 #Python
关于python中的xpath解析定位
Mar 06 #Python
You might like
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
PHP基础学习小结
2011/04/17 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
php输出xml属性的方法
2015/03/19 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
简单的编程0基础下Python入门指引
2015/04/01 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
python属于软件吗
2020/06/18 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
个人简历的自荐信
2013/10/23 职场文书
25岁生日感言
2014/01/13 职场文书
自荐书4要点
2014/01/25 职场文书
英文求职信写作小建议
2014/02/16 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
色戒观后感
2015/06/12 职场文书
宣传委员竞选稿
2015/11/19 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书