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字符串详细介绍
May 09 Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
Django实现跨域请求过程详解
Jul 25 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Pytorch to(device)用法
Jan 08 Python
python 函数中的参数类型
Feb 11 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
php5新改动之短标记启用方法
2008/09/11 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
限制复选框的最大可选数
2006/07/01 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
python flask几分钟实现web服务的例子
2019/07/26 Python
Django 拆分model和view的实现方法
2019/08/16 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
兰兰过桥教学反思
2014/02/08 职场文书
物流专员岗位职责
2014/02/17 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
幼儿学前班评语
2014/12/29 职场文书
人与自然观后感
2015/06/16 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书