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实现从脚本里运行scrapy的方法
Apr 07 Python
Python数据类型学习笔记
Jan 13 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 Python
详解Python核心对象类型字符串
Feb 11 Python
Python堆排序原理与实现方法详解
May 11 Python
python批量修改图片大小的方法
Jul 24 Python
用python打印1~20的整数实例讲解
Jul 01 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
Python pip 安装与使用(安装、更新、删除)
Oct 06 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 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技巧与注意事项分析
2011/02/03 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python实现大转盘抽奖效果
2019/01/22 Python
pytorch 求网络模型参数实例
2019/12/30 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
HTML5的语法变化介绍
2013/08/13 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Servlet面试题库
2015/07/18 面试题
安全生产月标语
2014/10/07 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书