class Register(QtGui.QDialog): def __init__ (self, parent = None): super(Register, self).__init__(parent) self.network = Network() nameLayout = QtGui.QHBoxLayout() passwordLayout = QtGui.QHBoxLayout() confirmLayout = QtGui.QHBoxLayout() mainLayout = QtGui.QVBoxLayout() self.nameLabel = QtGui.QLabel('Username') self.nameEdit = QtGui.QLineEdit() nameLayout.addWidget(self.nameLabel, 0) nameLayout.addWidget(self.nameEdit, 1) self.passwordLabel = QtGui.QLabel('Password') self.passwordEdit = QtGui.QLineEdit() self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) passwordLayout.addWidget(self.passwordLabel, 0) passwordLayout.addWidget(self.passwordEdit, 1) self.confirmLabel = QtGui.QLabel('Confirm ') self.confirmEdit = QtGui.QLineEdit() self.confirmEdit.setEchoMode(QtGui.QLineEdit.Password) confirmLayout.addWidget(self.confirmLabel, 0) confirmLayout.addWidget(self.confirmEdit, 1) self.successLabel = QtGui.QLabel('Registration succesful') self.matchErrorLabel = QtGui.QLabel('Passwords dont match') self.fieldErrorLabel = QtGui.QLabel('Empty fields') self.uknownErrorLabel = QtGui.QLabel('Unknown error') palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.red) self.matchErrorLabel.setPalette(palette) self.fieldErrorLabel.setPalette(palette) self.uknownErrorLabel.setPalette(palette) self.successLabel.hide() self.matchErrorLabel.hide() self.fieldErrorLabel.hide() self.uknownErrorLabel.hide() self.registerButton = QtGui.QPushButton('Register') self.registerButton.clicked.connect(self.registerButtonHandler) mainLayout.addLayout(nameLayout, 0) mainLayout.addLayout(passwordLayout, 1) mainLayout.addLayout(confirmLayout, 2) mainLayout.addWidget(self.successLabel, 3) mainLayout.addWidget(self.matchErrorLabel, 4) mainLayout.addWidget(self.fieldErrorLabel, 5) mainLayout.addWidget(self.uknownErrorLabel, 6) mainLayout.addWidget(self.registerButton, 7) self.setLayout(mainLayout) def registerButtonHandler(self): if self.nameEdit.text() == '' or self.passwordEdit.text() == '' or self.confirmEdit.text() == '': self.fieldErrorLabel.show() return else: self.fieldErrorLabel.hide() if self.passwordEdit.text() != self.confirmEdit.text(): self.matchErrorLabel.show() return else: self.matchErrorLabel.hide() self.response = self.network.register({'username':self.nameEdit.text(), 'password': self.passwordEdit.text()}) self.response.finished.connect(self.requestFinished) def requestFinished(self): replyByteArray = self.response.readAll() QtCore.QObject.deleteLater(self.response) replyString = str(replyByteArray.data()) print (replyString) if replyString == "b'Success'" or replyString == 'Success': self.successLabel.show() self.registerButton.setText('Close') self.registerButton.clicked.connect(self.hide) else: self.uknownErrorLabel.show()