GUI(Graphical User Interface) 프로그램을 만들고 싶다. python console창에서 입력해서 결과를 확인하는 것이 아니라 원도우창을 만들고 실행파일로 실행하고 싶다. 언젠가부터 이런 욕구가 생기기 시작했고, 파이썬에서 GUI프로그래밍이 가능한다는 사실을 알게 됐다.
오늘은 파이썬 GUI 프로그래밍을 위한 패키지와 도구들에 대해서 알아보려고 한다.
파이썬 GUI 프로그래밍을 하려면 PyQt5라는 패키지를 사용해야 한다. PyQt5는 Qt어플리케이션 프레임 워크를 위해 Python에 바인딩된 세트라고 한다. Qt어플리케이션 프레임워크 파이썬에 사용하기 위한 패키지라고 보면 되겠다.
그럼, Qt는 무엇일까? Qt는 컴퓨터 프로그래밍에서 GUI프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크이다. GUI프로그래밍을 위한 프레임워크이고, 파이썬 뿐만 아니라 다른 프로그래밍 언어에서도 쓰이는 프레임워크라고 보면 되겠다. Qt는 주로 C++을 사용하지만 파이썬, 루비, C, 펄, 파스칼과도 연동되며 리눅스, 맥, 윈도 등 수많은 플랫폼에서 동작한다고 한다.
pyqt5 패키지를 설치하기 위해, pip install pyqt5를 명령어창에서 입력하여 설치하였다.
다음으로 윈도우창을 원활히 그리기 위해 QtDesigner가 필요하다. QtDesigner는 아래와 같이 윈도우창을 설계할 수 있는 툴이다.
QtDesigner를 설치하기 위해서는 pyqt5-tools라는 패키지를 설치해야 한다. 여기서부터 문제가 발생했다. 'pip install pyqt5'라고 실행했더니 아래와 같이 에러메시지가 나왔다.
'Could not find a version that satisfies the requirement pyqt5-tools (from versions: ) No matching distribution found for pyqt5-tools' 이라고 하는데 매칭되는 pyqt5-tools 버전이 없다고 하는데 이유를 알 수가 없다.
열심히 웹서핑을 한 결과 github에 pyqt5-tools 프로젝트에서 파이썬 3.6.0은 아직 지원하지 않는다는 사실을 알게 됐다. 이전에 최신 버전의 파이썬으로 설치했는데 후회되는 순간이다. 최신의 것이 무조건 좋지는 않다.
github페이지의 아래에 보면 3.6.0버전에 대해서 빌드가 있는 것 같은데, 찾아보니 Operating System이 윈도우로 돼 있다.
필자는 맥을 사용하기 때문에 포기하고 더 검색을 해본 결과 충격(?)적인 사실을 알게 됐다.
파이썬 아나콘다 배포판을 설치하였다면, terminal에서 open -a Designer라고 입력해보라는 것이다. 아나콘다 배포판에는 QtDesigner가 이미 설치돼 있던 것이다. 아나콘다 배포판이 좋은 이유가 하나 더 늘었다.
참고로 open -a는 터미널에서 어플리케이션의 이름을 가지고 실행할 수 있는 명령어이다. 도대체 어느 폴더에 설치돼 있는지 확인해보니 python실행파일이 있는 폴더에 들어 있었다.
해당 파일의 바로가기를 Dock에 내려놓았다. 다음 포스팅에서는 QtDesigner를 이용해 윈도우를 그리고 GUI프로그래밍을 해 보려고 한다.
QtDesigner의 설치에 어려움을 겪고 있다면 이렇게 해 보자.
1) 파이썬 아나콘다 배포판을 설치한다.
(참조: 아나콘다(anaconda) 배포판 설치하기)
2) \anaconda3\bin폴더에 있는 Designer파일을 실행하다.
이제 QtDesigner를 통해 GUI프로그램을 만들 준비는 다 되었다. 코딩을 할 때는 QtDesigner로 만든 ui파일을 파이썬에 등록해야 한다. 이에 대한 자세한 방법은 다음 포스팅에서 다뤄보도록 하겠다.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 문법, cheat sheet로 쉽게 익히기! (0) | 2021.10.04 |
---|---|
파이썬 QtDesigner PyQt 코드 초기 설정하기 (0) | 2021.09.04 |
파이썬 패키지 설치, 파이참에서 쉽게 하는 방법은?! (0) | 2021.08.26 |
파이참(pycharm)에서 주석으로 항목 관리하기 (0) | 2021.08.20 |
파이썬 주석, 파이참(pycharm)으로 똑똑하게 활용하기 (2) | 2021.08.18 |