【问题标题】:Retrieving text from password field [python][pyqt4]从密码字段中检索文本 [python][pyqt4]
【发布时间】:2010-01-26 18:56:25
【问题描述】:
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() 函数及其操作方式的任何信息当密码模式打开时,我没有找到任何东西。有人知道这是怎么做到的吗?

【问题讨论】:

    标签: python user-interface passwords pyqt4


    【解决方案1】:

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

    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
    

    【讨论】:

      猜你喜欢
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      相关资源
      最近更新 更多