2016-07-27 8 views
1

내 기본 응용 프로그램이 QWindow인데 QPushButton 키를 누르면 새 하위 창이 열립니다 (QWidget). 는 I가 QWidget 창에있는 QPushButton '완료'에닫을 때 QWidget 삭제

  1. 클릭 오른쪽 상단에있는 X, 또는
  2. 클릭하십시오 QWidget 창을 종료하는 방법에는 두 가지가 있습니다.

두 방법 중 하나를 사용하여 창을 종료하면 QWidget이 삭제됩니다. 나는 두 번째 경우에 'QPushButton이 완료되었을 때 호출 된 함수에 self.deleteLater()을 추가하여 이것을 보장 할 수 있다고 믿지만, 첫 번째 경우에이를 수행하는 방법을 고민하고 있습니다.

답변

1

는이 작업을 수행하기 위해 위젯 속성을 설정할 수 있습니다

class Widget(QtGui.QWidget) 
    def __init__(self, parent=None) 
     super(Widget, self).__init__(parent) 
     self.setAttribute(QtCore.Qt.WA_DeleteOnClose) 

귀하의 "완료"버튼 만 호출 할 수있다 self.close() (제목 표시 줄 닫기 버튼을 클릭하는 것과 동일 함).