Okno dialogowe logowania PyQt

Prawie skończyłem aplikację, gdy klient zapytał, czy mogę uruchomić jakiś formularz logowania podczas uruchamiania aplikacji.

Do tej pory zaprojektowałem interfejs użytkownika i majstrowałem przy rzeczywistym wykonaniu. Nazwa użytkownika i hasło są na razie nieistotne.

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_())

Wyświetlany jest formularz logowania. Jeśli wprowadzono poprawną nazwę użytkownika i hasło, wyświetlane jest główne okno i działa. Ale formularz logowania pozostaje aktywny, a jeśli go zamknę, główne okno również zostanie zamknięte.

questionAnswers(1)

yourAnswerToTheQuestion