我试图使用PyQt的创建一个登录系统,我有多个模块,这里是我的从我的设置模块下面的代码部分:名称错误,同时使用多个模块和PyQt的
class User(object):
def __init__(self, fname, lname, dob, gender):
self.firstname = fname
self.lastname = lname
self._dob = dob
self.gender = gender
self.type = 'General'
self._username = ''
self._hashkey = ''
def Report(self):
print("Full Name: {0} {1}\nDate of Birth: {2}\nGender: {3}\nAccess Level: {4}".format(self.firstname,self.lastname, self._dob, self.gender, self.type))
print(self._username)
def Genusername(self):
self._username = str(str(self._dob)[:2] + self.firstname[:2] + self.lastname[:2])
saveUsers(users)
def Verify(self, Username, Password):
if Password == self._hashkey:
return True
else:
return False
def verifyUser(Username, Password):
for user in users:
if Username == user._username:
if user.Verify(Username, Password):
print('Login Successful')
else:
print('Wrong Password')
else:
print('User does not exist')
if __name__ == '__main__':
users = []
loadUsers(users)
,这里是我的PyQt GUI模块这正是我尝试测试:
from PyQt4 import QtGui, QtCore
import Settings
class Window(QtGui.QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.lbl1 = QtGui.QLabel('Username')
self.lbl2 = QtGui.QLabel('Password')
self.username = QtGui.QLineEdit()
self.password = QtGui.QLineEdit()
self.okButton = QtGui.QPushButton("OK")
self.okButton.clicked.connect(self.Login)
self.cancelButton = QtGui.QPushButton("Cancel")
grid = QtGui.QGridLayout()
grid.setSpacing(10)
grid.addWidget(self.lbl1, 1, 0)
grid.addWidget(self.username, 1, 1)
grid.addWidget(self.lbl2, 2, 0)
grid.addWidget(self.password, 2, 1)
grid.addWidget(self.okButton, 3, 1)
grid.addWidget(self.cancelButton, 3, 0)
self.setLayout(grid)
self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Login')
self.show()
def Login(self):
Settings.verifyUser(self.username.text(),self.password.text())
def main():
app = QtGui.QApplication(sys.argv)
Loginwindow = Window()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
我想从PyQt的编辑插件的用户名和密码,并与用户的用户名和密码,以核实他们的用户都是其中的类被存储在一个列表中,并作为加载的pickle文件转储,我不断收到一个nam我的代码的验证功能错误,我不知道如何获得列表进入功能,我尝试了其他方式,但不工作,如果有另一种方法来构建我的代码或使用pyqt请让我知道,我是新来PyQt的,当它涉及到使用模块
Traceback (most recent call last):
File "C:\Users\ProgramA\LoginGUI.py", line 39, in Login
Settings.verifyUser(self.username.text(),self.password.text())
File "C:\Users\ProgramA\Settings.py", line 78, in verifyUser
for user in users:
NameError: name 'users' is not defined
我还有一个问题,但我不能在这里键入它,它太长大声笑,电子邮件? – Inthuson
只是把它张贴在SO! – Schollii