군침이 싹 도는 코딩
게임 런처를 만들던중 발생한 문제점 (1) 본문
런처를 만들던 중 로그인 화면 > 런처 화면으로 넘어갈때 로그인을 성공해도 런처가 바로 종료되는 문제 발생
self.game_launcher = GameLauncherApp()
# 문제점은 로그인에 성공해도 런처 객체가 바로 소멸하여 프로세스가 종료되는것이였다
이를 해결하기위해서 런처 객체를 로그인 객체 안에 멤버 변수로 포함시켰다
game_launcher.show() > self.game_launcher.show()
# 그 다음 로그인 버튼을 눌렀을때의 런처 실행 동작을 self.game_launcher.show() 로 바꿨다
game_launcher.show() 를 사용하면 GameLauncherApp() 의 객체를 참초하는 게임런처에서 실행시켜주는것이라
GameLauncherApp() 객체가 LoginWindowApp() 객체의 지역변수로서 존재하고 있기 때문에, GameLauncherApp() 객체가 생성되고 바로 소멸하는 문제가 발생합니다.
self.game_launcher.show()는 LoginWindowApp() 객체의 멤버 변수인 game_launcher를 사용해서 GameLauncherApp() 객체를 보여주는 메서드입니다. 이 경우 GameLauncherApp() 객체가 LoginWindowApp() 객체의 멤버 변수로서 유지되기 때문에, GameLauncherApp() 객체가 생성되고 바로 소멸되는 문제가 발생하지 않습니다.
'Python > Pycharm' 카테고리의 다른 글
PySide2 레이아웃 ( Grid Layout ) (0) | 2023.05.26 |
---|---|
PySide2 레이아웃 ( Form Layout ) (0) | 2023.05.26 |
간단한 팁 (0) | 2023.05.26 |
Pyside2 레이아웃 ( Box Layout ) (0) | 2023.05.26 |
PyQt5 배포 파일 만들기 (0) | 2023.05.26 |