Qt Designer 设计页面:


通过 PyQt5 手写
1. 先引入用到的库
from PyQt5.QtWidgets import *
import sys
2. 创建应用,窗口, 设置窗口
# 创建应用
app = QApplication(sys.argv)
# 创建窗口
w = QWidget()
# 设置窗口标题
w.setWindowTitle("注册登录")
# 展示
w.show()
# 等待退出
sys.exit(app.exec())
2. 设置性别和爱好的横向布局
# 横向布局
hSexLayout = QHBoxLayout()
hHobbyLayout = QHBoxLayout()
4. 表单布局
# 表单
form = QFormLayout()
# 用户名
username = QLineEdit()
# 密码
password = QLineEdit()
# 将密码设置为密码属性
password.setEchoMode(password.Password)
# 性别
radioSex1 = QRadioButton("男")
radioSex2 = QRadioButton("女")
# 默认选中男
radioSex1.setChecked(True)
# 单选框添加到横向layout
hSexLayout.addWidget(radioSex1)
hSexLayout.addWidget(radioSex2)
# 爱好 复选框
hobby1 = QCheckBox("抽烟")
hobby2 = QCheckBox("喝酒")
hobby3 = QCheckBox("烫头")
# 复选框添加到横向layout
hHobbyLayout.addWidget(hobby1)
hHobbyLayout.addWidget(hobby2)
hHobbyLayout.addWidget(hobby3)
# 签名
signature = QLineEdit()
# 择偶要求: 多行输入框
choose = QTextEdit()
# 注册按钮
btn = QPushButton("确认注册")
btn.setFixedSize(120, 40)
5. 向表单中添加每一行
# 表单
form.addRow("用户名", username)
form.addRow("密码", password)
form.addRow("签名", signature)
form.addRow("性别", hSexLayout)
form.addRow("爱好", hHobbyLayout)
form.addRow("择偶要求", choose)
form.addRow("", btn)
6. 定义打印信息的方法
def printall():
print("用户名:", username.text())
print("密码:", password.text())
if radioSex1.isChecked():
print("性别: 男")
if radioSex2.isChecked():
print("性别: ", radioSex2.text())
hobby = []
if hobby1.isChecked():
hobby.append(hobby1.text())
# print("爱好:抽烟")
if hobby2.isChecked():
hobby.append(hobby2.text())
# print("爱好:喝酒")
if hobby3.isChecked():
hobby.append(hobby3.text())
# print("爱好:烫头")
print(hobby)
print("个性签名:", signature.text())
print("择偶要求:", choose.toPlainText())
7. 布局添加容器,点击确认注册调用方法
btn.clicked.connect(printall)
# 布局添加到容器
w.setLayout(form)

最低0.47元/天 解锁文章
3万+

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



