PyQt5 GUI 프로그래밍(1) - PyCharm에서 PyQt5 설치하기
Python/PyQt5

PyQt5 GUI 프로그래밍(1) - PyCharm에서 PyQt5 설치하기

PyQt5를 사용해서 GUI 프로그래밍을 해보자!

GUI 프로그래밍을 하는 방법은 여러가지가 있습니다. 저는 그 중에서 친숙한 언어인 Python을 사용해서 GUI 프로그래밍을 하는 방법에 대해 찾아봤습니다. 찾아보니까 PyQt5라는 아주 좋은 플랫폼이 있더라구요.
몇 번 써보니까 되게 편해서 GUI 프로그래밍을 해야할 때 잘 사용중입니다.
개인적으로 PyQt5를 공부하면서 느낀점으로는 한글로 된 PyQt5 자료가 많이 없더라구요. 대부분이 영문자료입니다. 저는 GUI 프로그래밍이 처음이기도 했고, 자료가 적다보니 공부를 하면서 많은 벽에 부딪히게 되었는데 혹시나 저처럼 GUI에 입문하시는 분들이 같은 노가다를 겪지 않도록 제가 힘들게 찾았던 기능들을 위주로 포스팅하려고 합니다.
가장 먼저 이번 포스팅에서는 Python 개발도구인 PyCharm에서 PyQt5와 PyQt5 Designer를 설치하는 방법에 대해 다루겠습니다.


GUI 개발 환경 구축

1. PyQt5, PyQt5 Designer 설치

  • PyCharm을 실행한 뒤 메인 화면에서 File -> Settings 탭을 열어 줍니다.

  • 그리고 Projects 탭의 Python Interpreter를 누르고 하단의 + 버튼을 클릭합니다.

  • 그러면 아래와 같이 패키지를 설치할 수 있는 창이 열리는데 pyqt5를 검색한 뒤 PyQt5PyQt5 Designer를 차례대로 설치해주시면 됩니다.

  • 정상적으로 설치가 되었다면 아래그림과 같은 경로에서 Designer를 확인할 수 있습니다.
    C:\Users\{사용자}\AppData\Local\Programs\Python\Python38-32\Scripts

  • 그리고 어디서든지 Designer와 pyuic5를 사용할 수 있도록 해당 폴더를 환경 변수에 추가해주도록 합니다.(과정 생략)

2. PyQt5 Designer 맛보기

GUI 프로그래밍을 할 때, 소스코드를 하나하나 손수 입력해주는 방법이 있겠지만 Designer를 사용하면 아주 쉽게 위젯들의 위치를 배치할 수 있습니다. 또한 위젯의 크기 조절이나 속성 값 등을 지정할 수 있기 때문에 작업을 직관적으로 수행할 수 있다는 장점이 있습니다. 다음은 Designer의 화면 구성에 대해 간단하게 알아보고 간단하게 GUI를 구성해보고 PyCharm에서 실행하는 방법까지 살펴보도록 하겠습니다.

  • PyQt5와 PyQt5 Designer를 정상적으로 설치를 완료하셨다면 PyCharm 하단의 Terminal에서 designer를 입력했을 때 아래와 같이 Designer가 실행되는 것을 확인할 수 있을 것입니다.

  • Designer가 실행되면 아래와 같은 화면을 볼 수 있습니다. 화면이 세로로 3등분이 되어있는데 좌측이 사용할 수 있는 위젯들이 위치한 위젯 영역, 가운데가 실제 GUI 디자인을 하는 작업 영역, 우측이 위젯들의 속성을 변경할 수 있는 속성 영역입니다.

  • 작업을 하기 위해서는 폼을 먼저 만들어야 합니다. Main Window를 선택하고 생성을 해줍니다.

  • Main Window가 생성되면 좌측의 위젯영역에서 위젯을 드래그 앤 드롭을 통해 메인 윈도우 위에 배치할 수 있습니다. 저는 Buttons 탭의 Push ButtonCheck Box 위젯을 Main Window에 배치를 해봤습니다.

  • 그리고 실행을 하기 전에 Designer에서 작업한 내용을 저장해줘야 합니다. .ui 파일로 저장이 되는데 이 파일은 Designer에서 읽어오기 위한 파일이며 나중에 Designer에서 이 파일을 불러오기 해서 작업을 이어서 진행할 수 있습니다.

  • 프로그램을 실행하기 위해서는 ui 파일을 파이썬 코드로 변환을 해주어야 합니다. 변환을 하는 방법은 ui 파일이 저장된 경로에서 파워쉘이나 CMD를 사용해서 다음 명령어를 수행하면 됩니다.
    > pyuic5 -x .\untitled.ui -o Test.py

  • ui 파일을 파이썬 코드로 변환을 하게 되면 아래와 같은 소스코드를 확인할 수 있습니다. Designer에서 작업했던 내용이 파이썬 코드로 적용이 된건데요, 제가 추가했던 Button과 CheckBox 위젯에 대한 코드도 있는 것을 알 수 있습니다.

  • 변환된 소스코드를 실행하면 아래와 같이 GUI 프로그램이 실행되는 것을 확인할 수 있습니다. 버튼도 클릭이 되고 체크박스도 체크가 되는 것을 알 수 있습니다. 버튼이 눌러졌을 때 기능을 구현하지 않았기 때문에 눌러도 당연히 바뀌는 건 없습니다.

간단하게 Designer에서 위젯을 배치하고 파이썬 프로그램으로 실행해보는 것까지 다뤄보았습니다. 사실 디자이너만 사용해서 GUI 프로그래밍을 모두 해결할 수는 없습니다. 제가 생각했을 때 디자이너의 용도는 프로그래밍 초기에 UI를 구성할 때 대략적인 틀을 잡아주는 용도로 사용된다 정도 인 것 같습니다. 위젯이 작동할 때 어떤 기능이 동작하는지는 결국 코드로 구현을 해줘야 하니까요.
어.. 마음 같아선 제가 공부했던 순서대로 포스팅을 하고 싶은데 완전 처음부터 포스팅을 하기에는 내용이 너무 많아서 그냥 일부 기능만 쏙쏙 골라서 할지 조금 고민이 됩니다.