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如何import文件夹下的文件(实现方法)
Jan 24 Python
基于python(urlparse)模板的使用方法总结
Oct 13 Python
Python中的Django基本命令实例详解
Jul 15 Python
python实现简单的单变量线性回归方法
Nov 08 Python
django 消息框架 message使用详解
Jul 22 Python
Python3常见函数range()用法详解
Dec 30 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python双链表原理与实现方法详解
Feb 22 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
Python获取指定网段正在使用的IP
Dec 14 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常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
php适配器模式简单应用示例
2019/10/23 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
JS作用域链详解
2017/06/26 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Series和DataFrame使用简单入门
2019/11/13 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
Python使用type动态创建类操作示例
2020/02/29 Python
pycharm的python_stubs问题
2020/04/08 Python
Python实现AI换脸功能
2020/04/10 Python
python 如何在测试中使用 Mock
2021/03/01 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
房产授权委托书范本
2014/09/22 职场文书
统招统分证明
2015/06/23 职场文书
Python if else条件语句形式详解
2022/03/24 Python