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: line=f.readlines()消除line中\n的方法
Mar 19 Python
python实现机器学习之元线性回归
Sep 06 Python
python简单操作excle的方法
Sep 12 Python
python导入模块交叉引用的方法
Jan 19 Python
Linux上使用Python统计每天的键盘输入次数
Apr 17 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python字符串的index和find的区别详解
Jun 20 Python
Python如何读写二进制数组数据
Aug 01 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
解决python存数据库速度太慢的问题
Apr 23 Python
详解Python中__new__方法的作用
Mar 31 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
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
js实现数组转换成json
2015/06/26 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
财务会计专业毕业生自荐信
2013/10/02 职场文书
大学校庆邀请函
2014/01/11 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
荆州古城导游词
2015/02/06 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
教师节领导致辞
2015/07/29 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技