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_())

运行效果示意图

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

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

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

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

分别对应的结果如下:

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");

输出结果为:

小结

QFormLayout以表单的形式进行管理界面组件

通过使用QFormLayout可以发现其设置比较简洁明了

QFormLayout和QBoxLayout以及QGridLayout一样都支持布局管理器的嵌套使用

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

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

本文地址: http://www.cppcns.com/jiaoben/python/302352.html

python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...相关推荐

  1. python 动态调整控件大小_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...

    PyQt5动态(可拖动控件大小)布局控件QSplitter简介 PyQt还提供了特殊的布局管理器QSplitter.它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用 ...

  2. python界面设计实例qt_python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例...

    在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言.其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式, ...

  3. python界面编程实例_python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例...

    在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言.其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式, ...

  4. pyqt5中控件缩放功能_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...

    PyQt5动态(可拖动控件大小)布局控件QSplitter简介 PyQt还提供了特殊的布局管理器QSplitter.它可以动态地拖动子控件之间的边界,算是一个动态的布局管理器,QSplitter允许用 ...

  5. python日历gui_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...

    PyQt5日期时间控件QDateTimeEdit介绍 QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘上的上下键头按钮来增加或减少日期的时间值,QDateTimeEdit通过s ...

  6. python输出文本框_python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方...

    PyQt5多行文本框控件QTextEdit简介 QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显 ...

  7. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...

    PyQt5菜单栏控件QMenuBar介绍 QMenuBar在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAc ...

  8. qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...

    QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...

  9. pythongui项目实例_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...

    PyQt5状态栏控件QStatusBar简介 MainWindow对象在底部保留有一个水平条,作为状态栏(QstatusBar),用于显示永久或临时的状态信息 QStatusBar类中的常用方法 方法 ...

最新文章

  1. ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
  2. [洛谷P4626]一道水题 II
  3. Elasticsearch 节点发现
  4. 北京Uber优步司机奖励政策(3月11日)
  5. IDEA 自动生成 serialVersionUID
  6. Faster RCNN 学习笔记
  7. 方程求根(牛顿迭代法)
  8. 单板剥皮机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. bzoj 3745 [Coci2015]Norma——序列分治
  10. Win10 虚拟机安装 Windows xp(professional sp3)简记(非教学)
  11. 南航计算机学院物联网,南航*物联网
  12. C语言全局变量和局部变量的区别详解
  13. HEVC与AVC的区别与联系(十二)
  14. matlab空间计量AIC准则,空间计量经分析课件.ppt
  15. esp32 支持 sd卡 micropython 文件系统_ESP32教程:MicroPython支持-esp文件
  16. FFMPEG之音频播放
  17. Altium Designer--如何将底层视图进行翻转
  18. 恕我直言:你可能一直用错了 kafka 的重试机制
  19. 深度学习: ground truth 解释
  20. php齐博cms,齐博CMS splitword.php后门解密

热门文章

  1. 使用Python批量修改PPTX文件中文本框格式
  2. 在python中设置密码登录_在python中生成密码
  3. 有没有什么方法快速能找到导致软件崩溃的进程_手机软件闪退闪得怀疑人生?看我专治闪退二十年!...
  4. 计算机不能代替人类英语作文,2013年雅思写作范文:电脑翻译能取代人吗?
  5. 718. 最长重复子数组(JavaScript)
  6. php过滤危险路径,PHP技巧:php过滤危险html代码
  7. sql unicode转中文_汉字转拼音的Java类库 JPinyin
  8. 下面哪个选项不是oracle用户,作业三(有答案)
  9. QT每日一练day20:事件处理机制
  10. 重庆的计算机学校排名2015,2015年计算机考研学校排名