본문 바로가기
반응형

PySide638

Python psutil 라이브러리로 시스템 정보 수집 및 실시간 모니터링 만들기 Python psutil 라이브러리로 시스템 정보 수집 및 실시간 모니터링 만들기psutil은 Python으로 시스템 정보를 수집하고, 프로세스를 제어하며, 리소스를 모니터링할 수 있는 강력한 라이브러리입니다. 이 글에서는 psutil의 기본 개념부터 시작해 실전 예제와 PySide6를 활용한 GUI 모니터링 앱까지 구현해보며, 실무에서 psutil을 어떻게 활용할 수 있는지 정리해봅니다.🛠️ psutil 이란?psutil(process and system utilities)은 Python에서 CPU, 메모리, 디스크, 네트워크, 프로세스 등의 정보를 조회하거나 제어할 수 있게 해주는 라이브러리입니다.시스템 성능 분석, 리소스 모니터링, 자동화 스크립트, GUI 연동 등 다양한 분야에서 활용됩니다.🔐.. 2025. 5. 3.
os.path.join에서 NoneType 오류가 발생하는 이유와 해결 방법 📌 os.path.join에서 NoneType 오류가 발생하는 이유와 해결 방법파이썬으로 경로를 조합할 때 가장 자주 쓰는 함수 중 하나인 os.path.join()은 간단하면서도 실수하기 쉬운 함수입니다.특히 GUI 개발을 할 때 사용자의 입력이 누락되면 예상치 못한 NoneType 에러가 발생할 수 있습니다. 이 글에서는 os.path.join()에서 발생하는 TypeError의 원인을 살펴보고, 이를 방지하는 방법, pathlib으로의 대체, PySide6에서의 실용 예제까지 함께 소개합니다.🧩 오류 상황 예시TypeError: expected str, bytes or os.PathLike object, not NoneType 이 에러는 os.path.join()에 전달된 인자 중 None값이 .. 2025. 5. 2.
PySide6 프로그램 종료 시 반드시 호출되는 함수는 있을까? PySide6 프로그램 종료 시 반드시 호출되는 함수는 있을까?PySide6로 GUI 프로그램을 개발하다 보면 프로그램이 종료될 때 어떤 처리를 확실히 해줘야 할 상황이 자주 발생합니다.예를 들어, 사용자 설정 저장, 로그 기록, 자원 정리 등은 종료 직전에 반드시 처리되어야 하는 작업입니다. 그렇다면 PySide6에서 프로그램이 종료될 때 반드시 호출되는 함수는 있을까요?아쉽게도 결론은 "무조건 호출되는 함수는 없다" 입니다. 하지만 종료 상황에 따라 다양한 우회 방법을 통해 대부분의 케이스를 커버할 수 있습니다.1. 정상 종료 대응 방법✅ atexit 모듈 사용정상적으로 종료되는 경우에 호출됩니다.import atexitdef cleanup(): print("정상 종료 시 호출됩니다.")ate.. 2025. 4. 21.
PySide6와 pprint: 순환 참조와 재귀 에러 문제 해결하기 PySide6와 pprint: 순환 참조와 재귀 에러 문제 해결하기Python으로 GUI 애플리케이션을 개발할 때 많이 사용되는 PySide6는 Qt 프레임워크를 Python에서 사용할 수 있도록 도와주는 라이브러리입니다. 그러나 PySide6의 객체들은 내부에 부모-자식 관계와 같은 중첩 구조(nested structure) 및 **순환 참조(circular reference)**를 포함하고 있어, Python의 내장 모듈인 **pprint (Pretty Print)**로 출력할 때 예상치 못한 문제가 발생할 수 있습니다. 이 글에서는 pprint를 사용하여 PySide6 객체를 출력할 때 발생할 수 있는 에러의 원인과 해결 방법에 정리했습니다.1. pprint 사용 시 발생할 수 있는 주요 에러Rec.. 2025. 3. 22.
PySide6에서 QTableWidget UI 커스터마이징: 컬럼 숨기기, 셀 색상 변경, 팝업 기능 추가 PySide6에서 QTableWidget UI 커스터마이징: 컬럼 숨기기, 셀 색상 변경, 팝업 기능 추가QTableWidget을 사용할 때 더욱 직관적인 UI를 만들기 위해 컬럼 숫자 숨기기, 셀의 배경 및 글자 색상 변경, 그리고 클릭 시 팝업 창 표시 등의 기능을 추가할 수 있습니다. 이 글에서는 해당 기능들을 구현하는 방법을 예제 코드와 함께 설명하겠습니다.1. QTableWidget에서 컬럼 숫자(인덱스) 숨기기QTableWidget의 왼쪽에 기본적으로 표시되는 **행 번호(인덱스)**를 숨기는 방법은 verticalHeader().setVisible(False) 메서드를 사용하면 됩니다.예제 코드: 컬럼 숫자 숨기기from PySide6.QtWidgets import QApplication, .. 2025. 3. 21.
PySide6에서 QTableWidget 헤더 및 테이블 스타일 설정하기 PySide6에서 QTableWidget 헤더 및 테이블 스타일 설정하기QTableWidget을 사용할 때 기본 스타일보다 더 세련되고 가독성 높은 UI를 만들기 위해서는 헤더 색상 변경 및 테이블 테두리 스타일 조정이 필요합니다. 이 글에서는 헤더 색상을 변경하는 방법과 테이블 라인의 색상 및 두께를 설정하는 방법을 예제 코드와 함께 설명하겠습니다.1. QTableWidget 헤더 색상 변경하기PySide6에서는 QHeaderView를 활용하여 테이블 헤더의 배경색 및 폰트 색상을 변경할 수 있습니다.예제 코드: 헤더 색상 변경하기from PySide6.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidgetf.. 2025. 3. 20.
반응형