pyside로 GUI 프로그램을 만들면 작업 표시줄과 타이틀 좌측 아이콘이 기본 아이콘으로 보이게 됩니다. 대부분의 프로그램은 고유의 아이콘으로 표시되어 어떤 프로그램인지를 잘 알 수 있도록 만들어지는데 pyside로 만든 GUI 프로그램도 나만의 아이콘이 보이도록 하는 방법을 정리했습니다. 창 상단 타이틀 바의 아이콘은 window.setWindowIcon() 메서드를 사용하면 바뀌지만 작업표시줄의 아이콘은 바뀌지를 않습니다. 이유는 윈도우 OS가 pyside로 만든 프로그램을 독립된 앱으로 인식하는 것이 아니라 파이썬 인터프리터의 하위 프로세스로만 인식해서 파이썬 기본 아이콘이 보이게 됩니다. 여기서는 이 현상을 시스템 레벨에서 우회하여 작업표시줄에서도 내가 설정한 아이콘이 보이도록 하는 것까지 포함되어 있습니다.
라즈베리파이에서 pyenv로 여러 버전 파이썬 사용법
라즈베리파이 OS와 같은 리눅스 계열 OS는 파이썬이 기본 설치되어 있는데, 수많은 시스템 유틸리티와 데스크톱 환경은 기본 설치된 파이썬 버전에 강하게 의존하고 있습니다. 그렇기 때문에 기본 설치된 파이썬 버전을 바꾸면 시스템 전반에 문제가 발생할 수 있습니다. 실제로는 버전업을 하거나 모듈을 설치하려고 해도 제한되게 됩니다. 문제는 내가 사용할 파이썬 버전은 미리 설치된 파이썬 버전보다 높거나 같은 마이너 버전이라도 최신 패치 버전을 사용하려고 할 때 생깁니다.
이 글을 쓰는 현재 라즈베리파이 OS에 설치된 파이썬 버전은 3.13.5인데 가장 최신 패치 버전은 3.13.13입니다. 이러한 문제를 해결하기 위해서 가장 많이 사용하는 것이 pyenv이고 이를 설치하고 사용하는 방법에 대해 설명합니다.
파이썬 PySide로 계기판 만들기
Qt 공식 지원 라이브러리인 PySide로 계기판을 만들었습니다. PySide는 내장 라이브러리가 아니므로 pip install pyside6으로 설치해야 합니다. PySide로 계기판을 만들기 위해서 QPainter를 사용할 것인데 여기서 주의할 점이 있습니다. 각도 계산은 math 라이브러리로 할 텐데 math에서 다루는 좌표계와 QPainter에서 다루는 좌표계는 반대로 동작합니다. 이해 대해 먼저 설명하겠습니다.
파이썬으로 IP 기반 위치 정보 조회하기
IP 주소는 단순한 숫자 조합처럼 보이지만, 그 안에는 생각보다 많은 정보가 담겨 있습니다. 특히 ipinfo.io 같은 서비스는 이 IP를 기반으로 국가, 도시, ISP 등 다양한 데이터를 제공합니다. 이번 글에서는 파이썬으로 이 API를 호출해 IP 위치 정보를 자동으로 가져오는 파이썬 코드를 만들어 보았습니다.
아래는 파이썬 코드입니다. 내장 라이브러리가 아닌 requests 라이브러리를 사용하므로 pip install requests로 미리 설치해야 합니다.
CH340G 디바이스 드라이버 (윈도우11 정상 동작)
아두이노 우노 호환 보드를 구입하면 거의 대부분이 CH340G라는 USB to Serial IC를 사용하게 됩니다. [그림 1]에 표시했는데 위치도 거의 동일합니다. 꽤 오래전부터 사용된 것으로 보이는데 윈도우11에서도 자동으로 인식을 하지 않아서 직접 드라이버를 설치해 줘야 합니다. 그런데 공식 홈페이지에서 다운로드한 드라이버를 설치해도 포트를 인식하지 못하는 경우가 있습니다.