Diálogo de inicio de sesión PyQt

Casi terminé mi solicitud, cuando el cliente me preguntó si podía implementar algún tipo de formulario de inicio de sesión en el inicio de la aplicación.

Hasta ahora he diseñado la interfaz de usuario y he pensado en la ejecución real. El nombre de usuario y la contraseña son irrelevantes por ahora.

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

Se muestra el formulario de inicio de sesión. Si se ingresan el nombre de usuario y la contraseña correctos, entonces la ventana principal se muestra y funciona. Pero, el formulario de inicio de sesión permanece activo, y si lo cierro, la ventana principal también se cerrará.