군침이 싹 도는 코딩

게임 런처를 만들던중 발생한 문제점 (1) 본문

Python/Pycharm

게임 런처를 만들던중 발생한 문제점 (1)

mugoori 2023. 5. 26. 08:26

런처를 만들던 중 로그인 화면 > 런처 화면으로 넘어갈때 로그인을 성공해도 런처가 바로 종료되는 문제 발생

 

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