python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例


Posted in Python onMarch 06, 2020

PyQt5布局控件QFormLayout简介

QFormLayout是label-field式的表单布局,顾明思议,就是实现表单方式的布局,表单是提示用户进行交互的一种模式,主要有两列组成,第一列用于显示信息,给用户提示,一般叫做label域,第二列需要用户进行选择或输入,一般叫做field域,label与field的关系就是label关联field

QFormLayout表单布局的使用实例

import sys
from PyQt5.QtWidgets import QApplication ,QWidget ,QFormLayout , QLineEdit, QLabel
class Winform(QWidget):
  def __init__(self,parent=None):
    super(Winform,self).__init__(parent)
    self.setWindowTitle("窗体布局管理例子") 
    self.resize(400, 100) 
    fromlayout = QFormLayout()
    labl1 = QLabel("标签1")
    lineEdit1 = QLineEdit()
    labl2 = QLabel("标签2")
    lineEdit2 = QLineEdit()
    labl3 = QLabel("标签3")
    lineEdit3 = QLineEdit()
    fromlayout.addRow(labl1, lineEdit1)
    fromlayout.addRow(labl2, lineEdit2)
    fromlayout.addRow(labl3, lineEdit3)
    //fromlayout->setRowWrapPolicy(QFormLayout::WrapLongRows);//该参数通常适用于小屏幕中,当标签和文本框在本行显示不全时,文本框会显示在下一行,使得标签独占一行
    fromlayout->setLabelAlignment(Qt::AlignLeft);//设置标签的对齐方式
    self.setLayout(fromlayout)  
if __name__ == "__main__": 
    app = QApplication(sys.argv) 
    form = Winform()
    form.show()
    sys.exit(app.exec_())

运行效果示意图

python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

setRowWrapPolicy(RowWrapPolicy policy)函数的参数有三个可选项:

QFormLayout::DontWrapRows:该参数的含义是文本框总是出现在标签的后面,其中标签被赋予足够的水平空间以适应表单中出现的最宽的标签,其余的空间被赋予文本框。

QFormLayout::WrapLongRows:该参数通常适用于小屏幕中,当标签和文本框在屏幕的当前行显示不全时,文本框会显示在下一行,使得标签独占一行。

QFormLayout::WrapAllRows:该参数表示标签总是在文本框的上一行。

分别对应的结果如下:

python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

QFormLayout布局管理器嵌套

根据AddRow函数的参数来看我们在添加表单项除了可以添加Widget组件以外还可以添加其他的布局管理器。

QFormLayout* layout = new QFormLayout();//顶级布局管理器
QVBoxLayout* vlayout = new QVBoxLayout();//被嵌套使用的布局管理器
QLineEdit* text1 = new QLineEdit();
QLineEdit* text2 = new QLineEdit();
QLineEdit* text3 = new QLineEdit();
vlayout->addWidget(text2);//子管理器布局
vlayout->addWidget(text3);
layout->addRow("Name:",text1);//往QFormLayout中添加表项
layout->addRow("Tel:",vlayout);
layout->setSpacing(10);
setLayout(layout);//设置顶级布局管理器
this->setWindowTitle("FTP");

输出结果为:

python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

小结

  • QFormLayout以表单的形式进行管理界面组件
  • 通过使用QFormLayout可以发现其设置比较简洁明了
  • QFormLayout和QBoxLayout以及QGridLayout一样都支持布局管理器的嵌套使用

本文主要讲解了PyQt5表单布局控件QFormLayout详细使用方法与实例,更多关于PyQt5布局控件使用方法请查看下面的相关链接

Python 相关文章推荐
python显示生日是星期几的方法
May 27 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
python类的继承实例详解
Mar 30 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
Python自定义线程类简单示例
Mar 23 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
python 错误处理 assert详解
Apr 20 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
Python实现打包成库供别的模块调用
Jul 13 Python
Python使用ElementTree美化XML格式的操作
Mar 06 #Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 #Python
Python 批量读取文件中指定字符的实现
Mar 06 #Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 #Python
python3 xpath和requests应用详解
Mar 06 #Python
python 装饰器功能与用法案例详解
Mar 06 #Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
Mar 06 #Python
You might like
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
PHP中cookie知识点学习
2018/05/06 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
Python中模块string.py详解
2017/03/12 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
django将数组传递给前台模板的方法
2019/08/06 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
介绍一下grep命令的使用
2012/06/28 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
材料采购员岗位职责
2013/12/17 职场文书
八年级数学教学反思
2014/01/31 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
关于爱国的标语
2014/06/24 职场文书
课程设计的心得体会
2014/09/03 职场文书
三年级学生评语大全
2014/12/26 职场文书
中学教师教学工作总结
2015/08/13 职场文书
大学学生会竞选稿
2015/11/19 职场文书
导游词之阆中古城
2019/12/23 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python