반응형
#pyqt5 창닫힘 이벤트 추가
def closeEvent(self, event):
reply = QMessageBox.question(self, '확인', '프로그램을 종료하시겠습니까?',
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
driver.quit()
sys.exit()
else:
event.ignore()
이 코드는 PyQt5에서 창이 닫힐 때 발생하는 `closeEvent`를 오버라이드하여 사용자에게 종료 여부를 확인하는 기능을 추가한 부분입니다. 각 부분에 대한 설명은 다음과 같습니다:
1. **`closeEvent` 메서드 오버라이드**:
이 메서드는 PyQt5에서 제공하는 `QWidget` 클래스의 메서드를 오버라이드한 것으로, 창이 닫힐 때 호출됩니다. 여기에 원하는 종료 동작을 구현할 수 있습니다.
2. **`QMessageBox`를 사용한 확인 대화 상자 표시**:
PyQt에서 제공하는 `QMessageBox`를 사용하여 사용자에게 "프로그램을 종료하시겠습니까?"라는 메시지를 표시하고 Yes 또는 No를 선택하도록 합니다.
3. **사용자 선택에 따른 처리**:
사용자가 Yes를 선택하면 `event.accept()`를 호출하여 창이 정상적으로 닫히도록 하고, 동시에 `driver.quit()`을 호출하여 Selenium 드라이버를 종료합니다. 사용자가 No를 선택한 경우에는 창을 닫지 않도록 `event.ignore()`를 호출합니다.
이러한 구현을 통해 사용자가 창을 닫을 때 프로그램 종료 여부를 묻고, 사용자의 선택에 따라 적절한 동작을 수행하도록 되어 있습니다.
반응형
'python3 selenium' 카테고리의 다른 글
Tesseract, PyTesseract 설치방법 (0) | 2023.12.07 |
---|---|
python selenium 서버 시간 가져오기 & timer (0) | 2023.11.30 |
Python Pyqt5 입려값 json 파일로 저장, 불러오기, 수정, 삭제 (0) | 2023.11.29 |
Python selenium main manu, sub manu click (0) | 2023.11.27 |
Python selenium select. combo_box (0) | 2023.11.27 |