Вопрос

I made a login form but I don't know how to put ** in the Password field. I only have:

self.textPass = QtGui.QLineEdit(self)
Это было полезно?

Решение

As jedwards commented, use setEchoMode method:

example:

from PyQt4 import QtGui, QtCore

app = QtGui.QApplication([])
pw = QtGui.QLineEdit()
pw.setEchoMode(QtGui.QLineEdit.Password)
pw.show()
app.exec_()

See also QLineEdit.EchoMode enum.

Другие советы

In PyQt5:

self.LeUsuario.setEchoMode(QtWidgets.QLineEdit.Password)

PyQT5 solution with option to hide/reveal typed content

Install:

pip install qtwidgets

Then you can use:

from PyQt5 import QtCore, QtGui, QtWidgets
from qtwidgets import PasswordEdit


class Window(QtWidgets.QMainWindow):

    def __init__(self):
        super().__init__()

        password = PasswordEdit()
        self.setCentralWidget(password)


app = QtWidgets.QApplication([])
w = Window()
w.show()
app.exec_()

Taken from

Another solution (for PyQT5):

password = QtWidgets.QLineEdit()
password.setEchoMode(QLineEdit.Password)

Just add the following line

self.textPass.setEchoMode(QtWidgets.QLineEdit.Password)

In PyQt6:

entry_passsword = QLineEdit()
entry_passsword.setEchoMode(QLineEdit.EchoMode.Password)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top