PyQt5 的QLineEdit使用(密码隐藏、背景提示文字、显示可输入字符的范围)

1. 简述

QLineEdit即单行文本编辑器,是Qt下常用的人机交互控件,用来接收用户输入的信息。
QLineEdit并不像表面那么简单,下面介绍如何在QlineEdit下实现密码自动隐藏、背景提示文字,以及控制输入字符的范围。

2. 代码之路

2.1 密码隐藏
密码隐藏就是用户在输入密码等信息时,输入控件的信息自动隐藏,而显示特殊字符来标识显示输入文字的个数。
密码隐藏有2种实现方式:
1) 在输入每个字符期间都进行隐藏
使用QLineEdit的setEchoMode函数,举例如下:

ui->lineEdit_passwd->setEchoMode(QLineEdit::Password);

2)输入时显示字符,失去焦点时隐藏
依然使用QLineEdit的setEchoMode函数,参数改变,举例如下:

ui->lineEdit_passwd->setEchoMode(QLineEdit::PasswordEchoOnEdit);

2.2 背景文字
即用户在输入前显示的提示性文字,实际控件的内容为空,输入字符后提示的文字自动消失,变成用户输入的字符。
调用QLineEdit的setPlaceholderText函数即可,举例如下:

ui->lineEdit_name->setPlaceholderText(QStringLiteral("用户名为数字、字母或特殊字符"));

PyQt5使用:

self.lineEdit_name.setPlaceholderText("请输入以','分隔的变量!例如:a,b")

2.3 控制输入范围
使用正则表达式+过滤器的方法可以控制任意的输入范围。(QRegExp 类+QRegExpValidator类)
例如,限制用户名为数字、英文和特殊字符组成的字符串,可以用如下代码实现:

QRegExp rx("[a-zA-Z0-9!@#%^&*()_]+$"); //创建一个正则表达式对象
rxQRegExpValidator *pReg = new QRegExpValidator(rx, this); //创建一个过滤器对象
ui->lineEdit_name->setValidator(pReg); //限制用户名范围
ui->lineEdit_passwd->setValidator(pReg); //限制密码范围

2.4 其它提高用户体验方法
可以用setFocus()函数设置焦点,从而使用户无须选择控件的步骤;
可以用setStyleSheet()方法改变字体、背景颜色等。

3. 

使用QLineEdit一直都是用text()和setText()函数来获得、显示文字。
--------------------- 
原文:https://blog.csdn.net/lusanshui/article/details/84306402

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值