【PyQt小知识 - 7】:QLineEdit设置输入的文本以圆点或星号等方式显示

文章目录

setEchoMode

在PyQt中,QLineEdit是一种用于接收用户输入的小部件(widget)。setEchoMode是QLineEdit类中的一个方法,可以用于设置文本输入框中的文本显示模式。它接受一个参数来指定要使用的模式。

setEchoMode可以设置以下几种显示模式:

  1. QLineEdit.Normal: 正常模式下,文本会按照用户输入的内容显示。这是setEchoMode的默认模式。

  2. QLineEdit.NoEcho: 无回显模式下,文本框中输入的文本将不会显示出来。这种模式通常用于密码输入或其他敏感信息的输入。

  3. QLineEdit.Password: 密码模式下,文本框中输入的文本将以圆点或星号等方式显示,以隐藏实际的文本内容。

  4. QLineEdit.PasswordEchoOnEdit: 在编辑时密码模式下,文本框中输入的文本将以圆点或星号等方式显示,但在编辑时可以看到实际文本内容。这种模式适用于需要查看正在输入的密码的情况。

下面是一个使用setEchoMode方法的示例:

from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget, QVBoxLayout
import sys

app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout()

line_edit = QLineEdit()
line_edit.setEchoMode(QLineEdit.Password)  # 设置为密码模式

layout.addWidget(line_edit)
window.setLayout(layout)
window.show()

sys.exit(app.exec_())

在上述示例中,我们创建了一个QWidget窗口,并在其中添加了一个QLineEdit小部件。我们通过调用setEchoMode方法并传入QLineEdit.Password参数,将文本框设置为密码模式。这意味着在文本框中输入的文本将以圆点或星号等方式显示。

运行结果:
在这里插入图片描述