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使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
Python中的默认参数详解
Jun 24 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
python实现列表的排序方法分享
Jul 01 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
python爬虫之selenium库的安装及使用教程
May 23 Python
Python编写冷笑话生成器
Apr 20 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
PHP中Array相关函数简介
2016/07/03 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
使用python实现ANN
2017/12/20 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python机器学习实现决策树
2019/11/11 Python
Python3 集合set入门基础
2020/02/10 Python
django教程如何自学
2020/07/31 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
双方协议书
2014/04/22 职场文书
会计学专业求职信
2014/07/17 职场文书
横店影视城导游词
2015/02/06 职场文书
挂职个人工作总结
2015/03/05 职场文书
导游词之介休绵山
2019/12/31 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL