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使用PyFetion来发送短信的例子
Apr 22 Python
Python迭代用法实例教程
Sep 08 Python
python进程类subprocess的一些操作方法例子
Nov 22 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
Python常见工厂函数用法示例
Mar 21 Python
mac下如何将python2.7改为python3
Jul 13 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
Python的条件锁与事件共享详解
Sep 12 Python
tensorflow 变长序列存储实例
Jan 20 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 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
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
JS实现纸牌发牌动画
2021/01/19 Javascript
最大K个数问题的Python版解法总结
2016/06/16 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
销售演讲稿范文
2014/01/08 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
优秀员工推荐信
2014/05/10 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
民主生活会发言材料
2014/10/20 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
新店开张宣传语
2015/07/13 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
 python中的元类metaclass详情
2022/05/30 Python
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server