Pyside2 실시간 압력 시각화(GUI) 프로젝트 – 1

소개

안녕하세요.

코딩 번아웃을 해소 할 겸, 초기부터 현재까지 진행해온 다양한 pyside2 활용 프로젝트를 소개 해드릴게요.

저는 주로 IoT , ICT에 관련된 기술 개발을 진행하고 있습니다.

python과 임베디드의 가장 쉬운 길인 arduino 등 다양한 MCU(Micro Control Unit)와 연동하는 기술도 보여드릴 예정입니다.

시간 날 때 마다 차근차근 올려보도록 하겠습니다.

pyside2-gui

Pyside2 GUI

Pyside2를 이용한 GUI 프로젝트에 대해 상세하게 설명드리겠습니다.

Pyside2는 파이썬으로 Qt 프레임워크를 사용할 수 있도록하는 도구로서, PyQt와 유사하지만 라이센스 측면에서 자유롭고 유연한 특징을 가지고 있습니다.

이러한 특성으로 인해 Pyside2는 상업적인 목적으로 사용하기에도 매우 적합합니다.

또한, Qt 디자이너와의 완벽한 호환성을 제공하여 사용자가 직관적이고 빠르게 GUI 애플리케이션을 개발할 수 있습니다.

Pyside2는 Qt 버전과 대응하여 업데이트되며, 최신 Qt 버전에 대한 지원을 제공합니다.

따라서 개발자들은 항상 최신 기능과 보안 업데이트를 활용할 수 있습니다.

하지만 PyQt와 Pyside2 사이에는 일부 차이점이 있으므로 프로젝트를 시작하기 전에 Pyside2의 버전과 지원하는 기능을 확인하는 것이 중요합니다.

Pyside2 프로젝트에서는 Pyside에 더해 유용한 추가 기능 도구와 외부 라이브러리를 활용할 수 있습니다.

일부 Pyside2 배포에는 포함되어 있지 않은 모듈을 사용해야 할 때가 있으며, 이러한 경우 PyPi나 다른 소스에서 해당 모듈을 설치해야 합니다.

이는 개발자들이 필요한 기능을 확장하고 애플리케이션을 보다 다양하고 강력하게 개발할 수 있도록 도와줍니다.

또한, Pyside2와 함께 사용할 수 있는 다양한 유틸리티와 도구들이 있습니다.

이들은 개발 과정을 보다 편리하게 만들어주고 생산성을 향상시켜줍니다.

예를 들어, PySide2에 포함되지 않은 특정 기능을 구현하는데 도움이 되는 외부 라이브러리를 찾거나, Pyside2 커뮤니티에서 개발한 유용한 도구를 활용할 수 있습니다.

Pyside2를 사용하여 GUI 프로젝트를 개발할 때, Qt의 다양한 기능과 레이아웃 매니징, 위젯 등을 파이썬으로 손쉽게 구현할 수 있습니다.

이는 파이썬 개발자들에게 매우 편리한 방식이며, Qt의 강력한 기능과 함께 파이썬의 간결하고 읽기 쉬운 문법을 활용할 수 있습니다.

또한, Pyside2는 크로스 플랫폼 지원을 제공하여 Windows, macOS, Linux 등 다양한 운영체제에서 동일한 애플리케이션을 실행할 수 있도록 합니다.

GUI 프로젝트를 시작할 때, Pyside2의 강점과 특징을 살펴보고 기능적인 차이점을 이해하는 것이 중요합니다.

또한, 개발 중에 필요한 추가 모듈이나 도구를 활용하여 프로젝트를 더욱 풍부하게 만들 수 있습니다.

이러한 장점들을 고려하여 Pyside2를 사용한 GUI 프로젝트를 개발하면, 사용자 친화적이고 효율적인 애플리케이션을 구축할 수 있습니다.

또한, 파이썬 개발자들에게는 익숙한 개발 환경에서 Qt의 강력한 기능을 활용할 수 있으므로, 개발 생산성과 품질을 향상시킬 수 있습니다.

Pyside2의 성장과 함께 커뮤니티에서도 지속적으로 발전하는 다양한 자료와 지원을 얻을 수 있으며, 이는 프로젝트의 성공적인 완료를 보장해 줄 것입니다.

Pyside와 pyQt는 뭐가 다른가?

제가 python GUI로 pyside를 사용하는 핵심 요소를 말씀드립니다.

Pyside2와 PyQt는 모두 파이썬에서 Qt 프레임워크를 사용할 수 있도록 지원하는 라이브러리로, 기능적으로는 유사합니다.

하지만 두 라이브러리 간에는 몇 가지 차이점이 있습니다.

가장 큰 차이는 라이센스!

python 기반 GUI 개발로 상업적인 활동을 하시려면 꼭 라이센스를 확인하세요.

라이센스:

PyQt: PyQt는 GPL (General Public License) 및 상업적 라이센스를 제공합니다.

따라서 PyQt를 사용하여 상업적인 애플리케이션을 개발하려면 상업적 라이센스를 구매해야 합니다.

Pyside2: Pyside2는 LGPL (Lesser General Public License) 라이센스를 사용합니다.

이는 상업적인 애플리케이션을 개발할 때 라이센스를 구매하지 않아도 됨을 의미합니다.

따라서 Pyside2는 상업적인 목적으로 사용하기에 더 자유로운 라이센스를 제공합니다.

문서 및 커뮤니티:

PyQt: PyQt는 오랫동안 사용되어 온 라이브러리로, 많은 문서와 예제, 활발한 커뮤니티가 있습니다.

이는 PyQt를 배우고 문제를 해결하는 데 도움이 됩니다.

Pyside2: Pyside2도 점점 커지는 커뮤니티와 문서를 가지고 있으나, PyQt만큼 확장된 생태계를 가지고 있지는 않습니다.

하지만 Pyside2의 인기가 높아짐에 따라 커뮤니티와 문서가 더욱 발전하고 있습니다.

PyQT 공식 포럼 : https://forum.qt.io/topic/84658/pyqt-forum

모듈 이름과 일부 차이점:

PyQt: PyQt는 모듈 이름이 “PyQt5″와 “PyQt6″과 같이 버전에 따라 다릅니다.

또한, PyQt6부터는 Qt6를 지원합니다.

Pyside2: Pyside2는 “PySide2″라는 단일 이름의 모듈을 사용합니다.

따라서 버전 간에 모듈 이름을 바꿀 필요가 없습니다.

라이브러리 크기:

PyQt: PyQt는 모듈이 비교적 크기 때문에 배포 파일 크기가 크고, 설치 시간이 상대적으로 오래 걸릴 수 있습니다.

Pyside2: Pyside2는 모듈 크기가 더 작아서 배포 파일 크기가 작고, 설치 시간이 더 짧을 수 있습니다.

추가 기능 및 호환성:

PyQt: PyQt는 PyQML, QScintilla 등 PyQt만의 고유한 기능과 확장을 제공합니다.

또한, Qt의 C++ 코드를 직접 호출할 수 있는 “SIP”라는 도구를 사용합니다.

Pyside2: Pyside2는 Qt의 공식 파이썬 바인딩으로, Qt의 C++ 코드를 직접 호출하는 대신 “Shiboken” 도구를 사용합니다.

이로 인해 PyQt와 Pyside2는 호환성 측면에서 약간의 차이가 있을 수 있습니다.

이러한 차이점을 고려하여 개발자들은 프로젝트의 요구사항과 상황에 맞게 PyQt 또는 Pyside2를 선택할 수 있습니다.

라이센스, 커뮤니티 지원, 모듈 크기, 호환성 등의 요소들을 고려하여 개발 환경을 선택하는 것이 중요합니다.

프로젝트 준비물

  1. VScode
  2. python 3.8 이상
  3. arduino 개발 환경 및 센서 사용 경험
  4. FSR 센서(압력센서)
  5. MUX
  6. 많고 많은 전선들(AWG 28 ~ )
  7. arduino 시리즈, 오리지날 ATmega 계열 등 기타 MCU 개발 보드
  8. (Option) 3D 모델링 도구 및 3D 프린터(또는 JLC PCB 출력 대행)

본 프로젝트를 수행하는데 사용된 준비물들 입니다.

오늘은 간략히 위 언급한 준비물과 pyside2를 기반으로 제작한 실시간 시각표현 GUI 개발 경험을 공유 드리기 위한 워밍업으로 마치겠습니다.

감사합니다.

어떤 포스팅을 찾으시나요?

Leave a Comment