Skip to main content
 首页 » 编程设计

python之从密码字段 [python][pyqt4] 中检索文本

2025年05月04日9telwanggs

def welcomeStage (self):         
    self.test = QtGui.QLineEdit (self) 
    self.test.move (50, 150) 
 
    QtCore.QObject.connect (self.test, QtCore.SIGNAL ('returnPressed()'), self.passwordStage) 
 
def passwordStage (self): 
    self.email = self.test.text() 
    self.test.clear() 
    self.test.setEchoMode (QtGui.QLineEdit.Password) 
    QtCore.QObject.connect (self.test, QtCore.SIGNAL ('returnPressed()'), self.loginStage) 
 
def loginStage (self): 
    self.pwd = self.test.text() 
    print self.pwd 
    if len (self.pwd) < 0: 
        welcomeStage () 
        return 

简单地说,我正在制作一个登录表单。用户输入他们的电子邮件,然后清除文本字段并将回显模式设置为密码模式。 text() 函数可以很好地返回电子邮件,但是当我在更改回显模式后调用 text() 时,它返回 0。我一直在翻阅文档以查找有关 text() 函数及其操作方式的任何信息当密码模式打开时,但是我没有找到任何东西。有人知道这是怎么做到的吗?

请您参考如下方法:

我无法提供使用 QLineEdit 的修复程序, 但您可以在 QInputDialog 中获取密码通过在 getText() 中指定 mode方法。像这样:

diag = QtGui.QInputDialog 
s = None 
while s is None: 
    qstring, ok = diag.getText(self, QtCore.QString(title), QtCore.QString(text), mode=QtGui.QLineEdit.Password) 
    s = str(qstring) 
    if ok is False: # user pressed Cancel 
        return None 
    if s == '':     # user entered nothing 
        s = None 
return s