写在前面:
①本教程使用pycharm编译器进行pyqt5的学习,安装教程请大家自行百度
②本系列博客根据B站王铭东博主教程学习 学习代码 笔记6
链接:https://pan.baidu.com/s/1i3y4mI_9N84iAC6tav-j8Q
提取码:gupx
资料:
【1】B站教程
【2】B站教程配套课件
【3】PyQt官网的所有模块 (有部分内容没有补充进去)
【4】C++具体实现的API文档
PS:这一节B站视频缺失
共有四种:
QBoxLayout:垂直水平布局器
QGridLayout:网格布局器
QFormLayout:表单布局器
QStackedLayout:抽屉布局器
edit1 = QLineEdit()
edit1.setPlaceholderText("请输入账号")
layout = QFormLayout()
layout.addRow("账号:",edit1) :添加行,标签+组件
import sys
from PyQt5.QtWidgets import QWidget,QApplication,QLineEdit,QPushButton,QFormLayout,QVBoxLayout
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initui()
def initui(self):
container = QVBoxLayout()
layout = QFormLayout()
edit1 = QLineEdit()
edit1.setPlaceholderText("请输入账号")
layout.addRow("账号:",edit1)
edit2 = QLineEdit("请输入密码")
layout.addRow("密码:",edit2)
btn = QPushButton("登录")
container.addLayout(layout)
container.addWidget(btn)
self.setLayout(container)
if __name__=='__main__':
app = QApplication(sys.argv)
w = MyWindow()
w.show()
app.exec()

对齐方式
from PyQt5.QtCore import Qt
container.addWidget(login_btn, alignment=Qt.AlignRight)
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QVBoxLayout, QFormLayout, QLineEdit, QPushButton, QApplication, QWidget
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 设定当前Widget的宽高(可以拉伸大小)
# self.resize(300, 200)
# 禁止改变宽高(不可以拉伸)
self.setFixedSize(300, 150)
# 外层容器
container = QVBoxLayout()
# 表单容器
form_layout = QFormLayout()
# 创建1个输入框
edit = QLineEdit()
edit.setPlaceholderText("请输入账号")
form_layout.addRow("账号:", edit)
# 创建另外1个输入框
edit2 = QLineEdit()
edit2.setPlaceholderText("请输入密码")
form_layout.addRow("密码:", edit2)
# 将from_layout添加到垂直布局器中
container.addLayout(form_layout)
# 按钮
login_btn = QPushButton("登录")
login_btn.setFixedSize(100, 30)
# 把按钮添加到容器中,并且指定它的对齐方式
container.addWidget(login_btn, alignment=Qt.AlignRight)
# 设置当前Widget的布局器,从而显示这个布局器中的子控件
self.setLayout(container)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWindow()
w.show()
app.exec()
