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 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
python读取和保存视频文件
Apr 16 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
python中对_init_的理解及实例解析
Oct 11 Python
Python3直接爬取图片URL并保存示例
Dec 18 Python
Python yield的用法实例分析
Mar 06 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
Python自动登录QQ的实现示例
Aug 28 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 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
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
JSONP跨域请求
2017/03/02 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python如何发送与接收大型数组
2020/08/07 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
《孔子拜师》教学反思
2014/02/24 职场文书
学生未请假就回家检讨书
2014/09/22 职场文书
办理收楼委托书范本
2014/10/09 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
离婚协议书怎么写
2015/01/26 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
java调用Restful接口的三种方法
2021/08/23 Java/Android
Python学习之迭代器详解
2022/04/01 Python