2017-03-08 94 views
3

想要隱藏由「*」鍵入的密碼。但是密碼被顯示爲原文...如何在QLineEdit中隱藏密碼

class Form(QDialog): 
    def __init__(self, parent = None): 
     super(Form,self).__init__(parent) 

     self.usernamelabel = QLabel("Username : ") 
     self.passwordlabel = QLabel("Password : ") 
     self.username = QLineEdit() 
     self.password = QLineEdit() 
     self.okbutton = QPushButton("Login") 
     self.username.setPlaceholderText("Enter Username Here") 
     self.password.setPlaceholderText("Enter Password Here") 

     layout = QGridLayout() 
     layout.addWidget(self.usernamelabel,0,0) 
     layout.addWidget(self.passwordlabel,1,0) 
     layout.addWidget(self.username,0,1) 
     layout.addWidget(self.password,1,1) 
     layout.addWidget(self.okbutton) 
     self.setLayout(layout) 
+0

這篇文章將幫助你:http://stackoverflow.com/questions/3715103/password-field-in-django-model/3715382#3715382 –

回答

2

QLineEdit類有several modes,讓你可以控制它的文本的顯示方式。要僅顯示星號(*),這樣做:

self.password = QLineEdit() 
self.password.setEchoMode(QLineEdit.Password) 
... 
output = self.password.text() 

PS:

要設置不同的密碼字符,你可以使用這個樣式表屬性:

self.password.setStyleSheet('lineedit-password-character: 9679') 

的數量是一個unicode代碼點,在這種情況下是黑色圓圈()。

+0

「self.password = QLineEdit()」 我應該修改什麼這段代碼得到輸出。 –

+0

@AniruddhChaudhari。 'output = self.password.text()'。 – ekhumoro

+0

現在工作兄弟!任何其他方法? 「Self.password = ____________()」就像這樣。任何東西之間的空間 –