2014-11-12 7 views
0

У меня есть два класса, как показано ниже:Как отобразить другое окно после успешного входа в систему из окна входа в систему?

class Login(QMainWindow): 
    ... 
    ... 

class WinOne(QMainWindow): 
    ... 
    ... 

Login класс имеет окно Вход в систему.

WinOne класс имеет окно после входа.

Я импортирую эти два класса в другой модуль, и я хочу отобразить окно из класса WinOne после успешного входа в систему из окна входа в класс Login.

Я не уверен, как закрыть первое окно и открыть другое окно.

Я не могу применить эту логику.

Если кто-то может предложить только логику, я попытаюсь реализовать.

ответ

0

У вас может быть блокирующий способ отображения диалогового окна входа в систему и доступа к результатам. Это может быть сделано с помощью exec() и увидеть результаты, когда он возвращается:

login = Login() 
winOne = WinOne() 

if login.exec(): 
    result = login.successfulLogin; 
    if result: 
     winOne.show() 
    else: 
     ... 

Другой вариант заключается в использовании асинхронной путь. Вы можете иметь сигнал в Login, чтобы показать Войти успешна и подключить его к show() слот WinOne:

QtCore.QObject.connect(login, QtCore.SIGNAL('LoggedIn()'), winOne, QtCore.SLOT('show()')) 
+0

я пропустил говоря уже о Python 2.7 ... так что я не Exec() здесь. Пожалуйста, предложите – Ejaz

+0

@PEJK. Вы также можете использовать асинхронный путь. Я обновил ответ. – Nejat

Смежные вопросы