Search code examples
python-2.7passwordspyforms

Password field for pyforms?


My UI is written in pyforms.

How can I implement a password field? (EG. instead of 'P@ssW0rd' it would display '********').

I have found that I can utilize QLineEdit.EchoMode, but unsure how to implement.

Thanks in advance!

  • Updated to reflect community guidelines

Solution

  • You can add the following module as ControlPasswordText.py in your project folder:

    from pysettings import conf
    from pyforms.Controls import ControlText
    
    from PyQt4.QtGui import QLineEdit
    
    class ControlPasswordText(ControlText):
        def __init__(self, *args, **kwargs):
            super(ControlPasswordText, self).__init__(*args, **kwargs)
            self.form.lineEdit.setEchoMode(QLineEdit.Password)
    

    And here's how you would use it:

    import pyforms
    from   pyforms          import BaseWidget
    from   pyforms.Controls import ControlText
    from   pyforms.Controls import ControlButton
    
    # Importing the module here
    from ControlPasswordText import ControlPasswordText
    
    class SimpleExample1(BaseWidget):
    
        def __init__(self):
            super(SimpleExample1,self).__init__('Simple example 1')
    
            #Definition of the forms fields
            self._username     = ControlText('Username')
            # Using the password class
            self._password    = ControlPasswordText('Password')
    
    
    #Execute the application
    if __name__ == "__main__":   pyforms.startApp( SimpleExample1 )
    

    Result:

    enter image description here