6.1 QLineEdit单行文本输入框控件
一、QLineEdit单行文本输入框控件
- QLineEdit单行文本输入框控件在登陆注册或者条目选择的时候都会使用到
1.基本内容
- 文件内容获取
- 文本框密码输出
- 文本框初始文字设置
- 文本清空按钮
- 密码与明文的转换
- 文本自动补全(类似搜索提示)
- 文本字符长度限制
2.代码
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('QLineEdit-单行文本编辑器 - PyQt5中文网')
window.resize(600, 450)
window.move(300, 300)
btn = QPushButton(window)
btn.move(50, 50)
btn.setText('按钮')
#文本内容获取
'''
setText() 设置文本内容
insert(mewText) 在光标处插入文本
text() 获取真实的文本内容
displayText() 获取用户能看到的内容
'''
# 1.构造
led = QLineEdit(window)
# ==============文本内容的设置和获取=============== # 代码分割线 - 开始
#led.setText('11111') # 或覆盖构造时默认的文本,这和QPushButton中的setText不一样
#led.insert('22') # 如果文本框是空的,就和setText是一样的功能
btn.pressed.connect(lambda :led.insert('WWW')) #在光标处插入文本
btn.pressed.connect(lambda :print(led.text())) #获取输入的数据
#print(led.displayText()) #这样获取不到数据
btn.pressed.connect(lambda :print(led.displayText())) #获取输入的显示的数据
# ==============QLineEdit文本框输出模式=============== # 代码分割线 - 开始
# setEchoMode() 明文Normal=0、密文Password=2、不输出NoEcho=1、编辑时明文,结束后密文PasswordEchoOnEdit=3
# 以上的枚举值都是类属性,所以样用QLineEdit调用出来
led.setEchoMode(QLineEdit.Normal)
# led.setEchoMode(QLineEdit.Password) #输出就是密码的样式
# led.setEchoMode(QLineEdit.NoEcho)
# led.setEchoMode(QLineEdit.PasswordEchoOnEdit)
# ==============QLineEdit占位提示=============== # 代码分割线 - 开始
# setPlaceholderText()
# placeholderText()
led.setPlaceholderText('请输入密码')
# ==============QLineEdit清空按钮=============== # 代码分割线 - 开始
led.setClearButtonEnabled(True)
# ==============QLineEdit添加明文/密文操作行为=============== # 代码分割线 - 开始
action = QAction(led) # 创建一个QAction对象放在led表单中
action.setIcon(QIcon('aaa.png')) # 给对象设置图标
#如果是密码状态,显示,如果是显示,则变成密码
def change() :
if led.echoMode() == QLineEdit.Normal :
led.setEchoMode(QLineEdit.Password)
action.setIcon(QIcon('n.png'))
else :
led.setEchoMode(QLineEdit.Normal)
action.setIcon(QIcon('y.png'))
action.triggered.connect(change)
led.addAction(action, QLineEdit.TrailingPosition) # 接收对象,指定存放位置
#led.addAction(action, QLineEdit.LeadingPosition) #图片放在前面
# ==============QLineEdit自动补全=============== # 代码分割线 - 开始
qcompleter = QCompleter(['aaa', 'abc', 'AAA', '123', '136'], led)
led.setCompleter(qcompleter) # led改为明文显示
# ==============输入限制=============== # 代码分割线 - 开始
led.setMaxLength(5) # 字符长度限制
led.setReadOnly(False) # 制度设置 #为True就输入不进去了
window.show()
sys.exit(app.exec_())
3.效果
分类:
可视化界面 / PYQT5
标签:
python可视化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码