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实现清屏的方法
Apr 30 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
详解python-图像处理(映射变换)
Mar 22 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
Python run()函数和start()函数的比较和差别介绍
May 03 Python
什么是Python变量作用域
Jun 03 Python
python模块如何查看
Jun 16 Python
python 绘制国旗的示例
Sep 27 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
Python使用DFA算法过滤内容敏感词
Apr 22 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
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
php编程每天必学之表单验证
2016/03/01 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
python批量提交沙箱问题实例
2014/10/08 Python
python实现在windows下操作word的方法
2015/04/28 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
Python正则捕获操作示例
2017/08/19 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
房地产管理毕业生自荐信
2013/11/04 职场文书
亲属关系公证书
2014/04/08 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
二十年同学聚会感言
2015/07/30 职场文书
话题作文之学会尊重
2019/12/16 职场文书
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL