pyside6常用控件:QLineEdit() 文本输入框 用户提示、输入模式、输入验证
目录
QLineEdit() 文本输入框
用户提示、输入模式
输入验证
案例: 输入内容回车确定回显
QLineEdit() 文本输入框
用户提示、输入模式
from PySide6.QtWidgets import QApplication, QLineEditapp = QApplication()line_edit = QLineEdit()
line_edit.setWindowTitle("QLineEdit 示例")
line_edit.resize(300, 40)
# 设置默认文本(用户提示)
line_edit.setPlaceholderText("请输入密码")
# 设置输入模式
line_edit.setEchoMode(QLineEdit.Password) # 输入时显示为 ●●●line_edit.show()
app.exec()


常见的输入模式:

输入验证
不允许输入的压根无法输入
整数
from PySide6.QtGui import QIntValidator# 只能输入 0~100 的整数,输字母输入不上去
line_edit.setValidator(QIntValidator(0, 100))
小数
from PySide6.QtGui import QDoubleValidator# 范围 0.0~99.9,保留 2 位小数
line_edit.setValidator(QDoubleValidator(0.0, 99.9, 2))
正则表达式
from PySide6.QtGui import QRegularExpressionValidator
from PySide6.QtCore import QRegularExpressionregex = QRegularExpression("[A-Za-z0-9_]+") # 只允许字母、数字、下划线
line_edit.setValidator(QRegularExpressionValidator(regex))
示例:
from PySide6.QtWidgets import QApplication, QLineEdit
from PySide6.QtGui import QRegularExpressionValidator
from PySide6.QtCore import QRegularExpressionapp = QApplication()line_edit = QLineEdit()
line_edit.setWindowTitle("QLineEdit 示例")
line_edit.resize(300, 40)
# 设置默认文本(用户提示)
line_edit.setPlaceholderText("请输入")
# 设置输入模式
line_edit.setEchoMode(QLineEdit.Normal)
# 输入验证
# 正则表达式:只允许字母、数字、下划线
regex = QRegularExpression("[A-Za-z0-9_]+")
line_edit.setValidator(QRegularExpressionValidator(regex))line_edit.show()
app.exec()

案例: 输入内容回车确定回显
from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QLabelapp = QApplication([])# 主窗口
window = QWidget()
window.setWindowTitle("QLineEdit 输入内容回车确定回显")
window.resize(300, 120)# 输入框
line_edit = QLineEdit(window)
line_edit.setPlaceholderText("请输入内容,然后按回车")
line_edit.move(20, 20)
line_edit.resize(260, 30)# 显示标签
label = QLabel("等待输入...", window)
label.move(20, 70)
label.resize(260, 30)# 定义槽函数:回车后
def return_Pressed():text = line_edit.text()# 输入内容回显label.setText(f"你输入了: {text}")# 清空输入框,模拟提交line_edit.clear()# 绑定信号
line_edit.returnPressed.connect(return_Pressed)window.show()
app.exec()


