2017-05-02 3 views
0

이것은 내 주요 프로그램입니다. 나는 그것을 실행하고 푸시 버튼이있는 메인 윈도우를 열어 준다. 버튼을 누르면 두 번째 창이 열립니다. 두 번째 창을 닫고 버튼을 다시 누르면 두 번째 창이 열리지 않습니다. 다시 프로그램을 실행해야합니다. 메인 윈도우/프로그램을 닫지 않고 메인 윈도우에서 버튼을 누를 때마다 두 번째 윈도우를 열려면 어떻게해야합니까?[PyQt] 프로그램을 닫지 않고 버튼을 누를 때마다 두 번째 창 열기

답변

1

Adauga_p_cameraNone 일 때만 show()으로 전화하십시오. 첫 번째 클릭 후 더 이상 None이 아닙니다. 조건부 외부로 show()으로 전화를 이동해야합니다.

def Adauga_p_camera(self): 
    if self.Adauga_p_camera is None: 
     self.Adauga_p_camera = Adauga_p_camera(self) 

    self.Adauga_p_camera.show() 

또한 클래스, 메소드 및 인스턴스 변수의 이름으로 Adauga_p_camera 이름을 다시 사용합니다. 이 문제는 혼란 스럽지만, 후자 2의 경우 실제로는 self.Adauga_p_camera=None을 작성할 때 메소드 정의를 겹쳐 쓰고 있습니다. 의도하지 않은 동작을 피하려면 각 항목에 고유 한 이름을 지정해야합니다.