Diálogo de login PyQt

Quase terminei minha inscrição, quando o cliente perguntou se eu poderia implementar algum tipo de formulário de login na inicialização do aplicativo.

Até agora eu projetei a interface do usuário e mexi na execução real. Nome de usuário e senha são irrelevantes por enquanto.

class Login(QtGui.QDialog):
    def __init__(self,parent=None):
        QtGui.QWidget.__init__(self,parent)
        self.ui=Ui_dlgLogovanje()
        self.ui.setupUi(self)

        QtCore.QObject.connect(self.ui.buttonLogin, QtCore.SIGNAL("clicked()"), self.doLogin)

    def doLogin(self):
        name = str(self.ui.lineKorisnik.text())
        passwd = str(self.ui.lineSifra.text())
        if name == "john" and passwd =="doe":
            self.runIt()
        else:
            QtGui.QMessageBox.warning(self, 'Greška',
        "Bad user or password", QtGui.QMessageBox.Ok)           

    def runIt(self):
        myprogram = Window()        
        myprogram.showMaximized() #myprogram is

class Window(QtGui.QMainWindow):
    def __init__(self,parent=None):
        QtGui.QWidget.__init__(self,parent)
        self.ui=Ui_MainWindow()
        self.ui.setupUi(self)


if __name__=="__main__":
    program = QtGui.QApplication(sys.argv)
    myprogram = Window()
    if Login().exec_() == QtGui.QDialog.Accepted:       
        sys.exit(program.exec_())

Formulário de login é mostrado. Se o nome de usuário e a senha corretos forem inseridos, a janela principal será exibida e funcionará. Mas, o formulário de login permanece ativo e, se eu fechá-lo, a janela principal também será fechada.

questionAnswers(1)

yourAnswerToTheQuestion