PySide 密码字段不起作用
PySide Password Field not working
我是 PySide/PyQt 的新手,我正在创建一个接受用户名和密码的对话框。我遇到密码文本字段错误。
根据 PySide 的文档创建我正在使用的密码文本字段
self.password_text = QtGui.QLineEdit.setEchoMode(QtGui.QLineEdit.EchoMode.Password)
但是当我运行应用程序时,出现以下错误。
self.password_text =QtGui.QLineEdit.echoMode(QtGui.QLineEdit.Password)
TypeError: descriptor 'echoMode' requires a 'PySide.QtGui.QLineEdit' object but received a 'PySide.QtGui.QLineEdit.EchoMode
您的代码没有创建 QLineEdit
。你应该这样做:
self.password_text=QtGui.QLineEdit()
self.password_text.setEchoMode(QtGui.QLineEdit.EchoMode.Password)
关于您的错误的更多信息:
QtGui.QLineEdit.setEchoMode
不是有效调用。 setEchoMode
是 class QLineEdit
的一个方法,因此您需要 class 的一个实例来调用它(这就是错误消息的意思)。有效调用为 QtGui.QLineEdit().setEchoMode
.
- 如果您查看文档,您会看到
setEchoMode
returns void
(所以在 Python 中什么也没有)。所以如果没有之前的错误,self.password_text
应该是 None
.
通常在 QT 中,您必须创建小部件,然后将其设置为 属性.
我是 PySide/PyQt 的新手,我正在创建一个接受用户名和密码的对话框。我遇到密码文本字段错误。
根据 PySide 的文档创建我正在使用的密码文本字段
self.password_text = QtGui.QLineEdit.setEchoMode(QtGui.QLineEdit.EchoMode.Password)
但是当我运行应用程序时,出现以下错误。
self.password_text =QtGui.QLineEdit.echoMode(QtGui.QLineEdit.Password)
TypeError: descriptor 'echoMode' requires a 'PySide.QtGui.QLineEdit' object but received a 'PySide.QtGui.QLineEdit.EchoMode
您的代码没有创建 QLineEdit
。你应该这样做:
self.password_text=QtGui.QLineEdit()
self.password_text.setEchoMode(QtGui.QLineEdit.EchoMode.Password)
关于您的错误的更多信息:
QtGui.QLineEdit.setEchoMode
不是有效调用。setEchoMode
是 classQLineEdit
的一个方法,因此您需要 class 的一个实例来调用它(这就是错误消息的意思)。有效调用为QtGui.QLineEdit().setEchoMode
.- 如果您查看文档,您会看到
setEchoMode
returnsvoid
(所以在 Python 中什么也没有)。所以如果没有之前的错误,self.password_text
应该是None
.
通常在 QT 中,您必须创建小部件,然后将其设置为 属性.