PyQt5快速开发与实战
文章目录
6. 第6章 PyQt5 布局管理
6.6 QFormLayout(表单布局)
QFormLayout是 label-field式的表单布局,顾名思义,就是实现表单方式的布局。表单是提示用户进行交互的一种模式,其主要由两列组成,第一列用于显示信息,给用户提示,一般叫作 label域;第二列需要用户进行选择或输入,一般叫作field域。label 与 field的关系就是label关联field。
QFormLayout类的继承结构:
QObject → QLayout → 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)
self.setLayout(fromlayout)
if __name__ == "__main__":
from pyqt5_plugins.examples.exampleqmlitem import QtCore
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
form = Winform()
form.show()
sys.exit(app.exec_())

6.7 嵌套布局
在窗口中进行单一的布局比较简单,但是如果要进行比较复杂的布局,一般就会涉及布局的嵌套。
6.7.1 在布局中添加其他布局
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QVBoxLayout, QGridLayout, QFormLayout, QPushButton
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle(

本文详细介绍了PyQt5中的布局管理,包括QFormLayout的使用,实现了表单样式的交互界面。接着探讨了嵌套布局的概念,展示了如何在布局中添加其他布局以及在控件中添加布局,以实现复杂界面的设计。最后,讲解了QSplitter的用法,它允许用户动态调整子控件的大小,提供了灵活的界面布局选项。
最低0.47元/天 解锁文章
2996

被折叠的 条评论
为什么被折叠?



