본문 바로가기
반응형

PySide643

PySide6 GUI에서 self.close() 후에도 백그라운드 프로세스가 종료되지 않는 이유와 해결 방법 PySide6 GUI에서 self.close() 후에도 백그라운드 프로세스가 종료되지 않는 이유와 해결 방법PySide6 기반 GUI 애플리케이션을 개발하다 보면, self.close()나 창 우측 상단의 [X] 버튼을 눌러 UI를 종료했음에도 불구하고 프로세스가 백그라운드에 남아있는 현상을 경험할 수 있습니다. 심지어 PyInstaller로 패키징한 후 실행하면 종료된 줄 알았던 앱이 작업 관리자에 여전히 남아 있는 경우도 있죠. 이 글에서는 해당 문제의 원인과 확실한 해결 방법을 상세히 정리합니다.✅ 문제 요약 증상 설명 UI 창은 닫혔지만MainWindow는 닫혔지만, 내부에서 실행 중인 프로세스는 계속 동작작업 관리자에 프로세스가 남아 있음python.exe 또는 빌드된 .exe가 종료되지 않음.. 2025. 6. 16.
PyInstaller로 PySide6 앱 빌드 시 QSS, 이미지, QRC 리소스 포함하는 방법 PyInstaller로 PySide6 앱 빌드 시 QSS, 이미지, QRC 리소스 포함하는 방법PySide6로 만든 Python GUI 앱을 PyInstaller로 EXE 파일로 배포하려면 .png, .ico, .qss, .qrc 같은 리소스 파일을 함께 포함하는 작업이 꼭 필요합니다. 이 과정을 제대로 처리하지 않으면, 빌드 후 실행 시 이미지가 안 보이거나 스타일이 적용되지 않는 문제가 생깁니다. 이번 포스팅에서는 PyInstaller로 리소스를 안전하게 포함하고 사용하는 방법을 정리합니다.1. 포함할 수 있는 리소스 유형✅ .qss: 스타일 시트✅ .png, .ico: 이미지 및 아이콘✅ .qrc: Qt 리소스 정의 파일 (리소스 통합용)✅ .ui: Qt 디자이너에서 만든 UI 파일 (※ 추천: ... 2025. 6. 14.
PyInstaller로 빌드한 PySide6 앱에서 multiprocessing.Process가 동작하지 않을 때 해결 방법 PyInstaller로 빌드한 PySide6 앱에서 multiprocessing.Process가 동작하지 않을 때 해결 방법Python으로 GUI 앱을 만들 때 PySide6와 multiprocessing을 함께 사용하면, 메인 UI의 응답성을 유지하면서 백그라운드 작업을 처리할 수 있습니다. 그런데 PyInstaller로 이 앱을 EXE로 빌드하고 실행하면, 코드상에서는 잘 되던 multiprocessing.Process가 작동하지 않는 경우가 있습니다. 이 문제의 원인과 해결 방법을 이번 포스팅에서 정리해보겠습니다.문제 상황예를 들어 아래와 같은 코드에서:import multiprocessingdef run(queue, exe_arg_list, open_enable): print("Process.. 2025. 6. 12.
PySide6 GUI 앱에서 multiprocessing.Queue와 Process 안전하게 종료하는 방법 PySide6 GUI 앱에서 multiprocessing.Queue와 Process 안전하게 종료하는 방법PySide6 기반 GUI 프로그램에서 multiprocessing.Process와 multiprocessing.Queue를 사용하는 경우, UI를 닫더라도 백그라운드 프로세스가 종료되지 않고 리소스를 점유하는 현상이 발생할 수 있습니다. 특히 PyInstaller로 EXE를 만들었을 때 더욱 민감하게 반응합니다. 이 글에서는 Queue와 Process를 정상 종료하는 방법과, 종료 이후 terminate()와 close()를 다시 호출하면 어떻게 되는지 실전 예제와 함께 설명합니다.✅ 문제 현상self.close() 또는 MainWindow.close() 호출 시 UI는 종료되지만,백그라운드에서 실.. 2025. 6. 11.
PySide6 팝업에서 Cancel 클릭 시 메인 GUI 닫기 PySide6 팝업에서 Cancel 클릭 시 메인 GUI 닫기PySide6는 Python으로 GUI 애플리케이션을 개발할 수 있는 강력한 도구로, 사용자에게 직관적인 인터페이스를 제공할 수 있습니다. 이번 포스팅에서는 팝업 창에서 "Cancel" 버튼을 클릭하면 팝업 창과 메인 GUI가 함께 닫히도록 구현하는 방법을 설명합니다. 이 과정에서 PySide6의 기본 개념과 관련된 기술도 함께 설명합니다.주요 개념1. PySide6Python을 위한 Qt GUI 라이브러리입니다.다양한 GUI 요소를 제공하여 데스크톱 애플리케이션을 쉽게 개발할 수 있습니다.2. QMessageBoxPySide6에서 팝업 메시지를 표시할 수 있는 클래스입니다.표준 메시지 타입 (정보, 경고, 오류 등)과 사용자 정의 버튼을 제공.. 2025. 5. 9.
Python psutil 라이브러리로 시스템 정보 수집 및 실시간 모니터링 만들기 Python psutil 라이브러리로 시스템 정보 수집 및 실시간 모니터링 만들기psutil은 Python으로 시스템 정보를 수집하고, 프로세스를 제어하며, 리소스를 모니터링할 수 있는 강력한 라이브러리입니다. 이 글에서는 psutil의 기본 개념부터 시작해 실전 예제와 PySide6를 활용한 GUI 모니터링 앱까지 구현해보며, 실무에서 psutil을 어떻게 활용할 수 있는지 정리해봅니다.🛠️ psutil 이란?psutil(process and system utilities)은 Python에서 CPU, 메모리, 디스크, 네트워크, 프로세스 등의 정보를 조회하거나 제어할 수 있게 해주는 라이브러리입니다.시스템 성능 분석, 리소스 모니터링, 자동화 스크립트, GUI 연동 등 다양한 분야에서 활용됩니다.🔐.. 2025. 5. 3.
반응형