> For the complete documentation index, see [llms.txt](https://study-code.gitbook.io/python-basic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://study-code.gitbook.io/python-basic/qtpy/pyqt.md).

# PyQt 설치

## 설치

PyQt는 현제 PyQt4, 5 버전이 설치 가능합니다.\
저희는 5버전을 설치하도록 하겠습니다.&#x20;

### windows

터미널 창을 열고 python -m pip install pyqt5==5.9 명령을 실행합니다.

![](/files/-LKQ4kYd0wqMdVmmc1uy)

아래 노란색 글로 18.0 버전이 있다고 upgrade를 하라는 글귀가 보입니다.  \
upgrade는 하셔도 되고 안하셔도 됩니다.&#x20;

이제 설치가 잘되었는지 확인이 필요합니다.

![](/files/-LLSnHbSlTYRjkG7Eu2S)

python을 실행하고 import PyQt5를 했을 때 에러가 발생하지 않으면 설치 완료된 상태입니다.

### macOS

python -m pip install pyqt5

![](/files/-LLURE3_YXWfe-J4DtU6)

설치가 잘 되었는지 확인하기

![](/files/-LLUROC3T7Pd8bTGpO91)

python을 실행하고 \
\>>> import PyQt5\
\>>> \
에러 없이 이렇게 실행되면 설치는 잘 이루어 졌습니다.

## Hello World&#x20;

이제 파이썬과 QtPy를 이용해 화면에 Hello Python을 출력해보겠습니다.

```python
from PyQt5 import QtWidgets


def main():
    app = QtWidgets.QApplication([])
    window = QtWidgets.QMainWindow()
    label = QtWidgets.QLabel('\tHello World!')
    window.setCentralWidget(label)
    window.show()
    app.exec_()


if __name__ == '__main__':
    main()
```

01  PtQ5 라이브러리를 QtWidgets이라는 이름을 사용하도록 선언합니다.\
05   QApplication(\[])은 GUI를 만들 때 기본 설정과 Control을 관리합니다.\
06  QMainWindow()는 화면에 나타는 창 입니다.\
07  QLabel은 글자를 적는 Widget입니다.\
08  setCentralWidget(label) label 위젯을 가운데 배치합니다.\
09  화면에 창을 나타나게 합니다.\
10  exec\_() 는 본격적으로 코드가 실행됩니다.&#x20;

![실행 결과](/files/-LKV6V3ZVKyCSEm58yo0)

## &#x20;Qt Designer & QT Creator

Drag and drop 으로 GUI를 만들 수 있는 Qt Designer, QT Creator가 있습니다.\
Qt Creator로 통합되어 개발되고 있습니다. Qt Creator로 통합되며 Windows, Mac 에서 처음 사용하기 위해 환경설정 부분이 많이 까다로워 졌습니다. \
수업에는 Designer나 Creator를 사용하지 못하겠지만 관심있으신 분들은 설치 후 사용해보시기 바랍니다.\
Windows에서는 Qt Designer는 쉽게 설치 가능합니다.  그래서 윈도우용으로 Qt Designer 설치 방법만 알려드리겠습니다.

### 설치

### For Windows

지금까지 파이썬, QtPy 사용에 버전을 지정한 이유는 Qt Designer를 쉽게 설치하기 위해서입니다.\
설치가 안되는 분들은 그동안 설치했던 것들의 버전을 확인해보세요.\
꼭 파이썬 버전이 3.5.2 인지 확인해보세요!!!&#x20;

QT Designer를 사용하기 위한 툴설치를 하겠습니다. \
python -m pip install pyqt5-tools 명령을 실행합니다.

![](/files/-LKQ51dr3tUG1GyWf6-p)

설치가 완료 되었습니다.  파이썬 폴더 내부에 desginer.exe파일을 확인합니다.\
{파이썬 설치 경로}\Lib\site-packages\pyqt5-tools\
ex) C:\Python\Python35\Lib\site-packages\pyqt5-tools

![designer.exe 파일 확인](/files/-LKQ5nqc0cDbrLRLmxfV)

### 실행

![첫 실행 화면](/files/-LKV8NXubp39ptT5fsTo)

![](/files/-LKVFVFKCNql3nNXIjmc)

![Widget 리스트](/files/-LKVGtp-EePDv_pqiv0c)

왼쪽에는 사용할 수 있는 위젯들이 정리 되어있습니다.\
우리는 이 위젯을 적절히 배치하고 사용해서 GUI를 만들게 됩니다.\
Hello World를 적기 위해 Label이라는 위젯을 찾아보겠습니다.

![](/files/-LKVFaRUTxkBRyW51H99)

왼쪽 아래 Lable이라는 것을 Drag해서 MainWindow에 Drop합니다.\
TextLabel을 더블 클릭 하면 글자를 변경 할 수 있습니다.\
그리고 오른쪽에 Label을 꾸밀 수 있는 옵션이 나타나게 됩니다.

![Label이 사용할 수 있는 옵션이 정리 되어있습니다. ](/files/-LKVHNgJ-84lcjrqyU6Q)

글자 크기를 키우고 위치를 변경하겠습니다.

![글자 크기 변경](/files/-LKVIK1bzc7HAj84socU)

위치와 크기는 마우스를 이용하면 됩니다.

![](/files/-LKVIXFIPFyFKSx4UcQ_)

자 이제 이 파일을 파인썬으로 가져와서 실행하는 일만 남았습니다.

저장하기를 누르면 확장자 .ui로 저장합니다. \
저는 저장 경로를 Python 워크스페이스에 designer 폴더를 만들었습니다.\
G:\workspace\python\pyqt\designer

![](/files/-LKVJtRBoXWyHMOIGMVN)

저장된 .ui파일은 designer에서 수정 가능합니다.\
이제 .ui파일을 파이썬에서 사용할 수 있도록 컴파일 과정이 필요합니다.\
약간 복잡하니 잘 따라오세요\~\~!!!

pyuic5 -x {ui파일 위치.ui} -o { ui파일을 python 으로 변경할 위치.py }\
저의 경우는 pyuic5 -x G:\workspace\python\pyqt\designer\helloworld.ui -o g:\workspace\python\pyqt\designer\helloworld.py

![](/files/-LK_A6jerobJJ1EOJTEb)

![](/files/-LK_AIW-uGa-0zlJmAER)

파이썬 파일이 생성됨을 볼 수 있습니다. \
helloworld.py 파일을 VSCode에 넣고 실행하거나 더블 클릭으로 실행하면&#x20;

![](/files/-LK_AgflJjfPLNFSFAzp)

Designer로 만든 화면이 실행되는 것을 확인 할 수 있습니다.

### For macOS

Python, QtPy5 버전을 맞추기 힘들어 Qt Designer는 설치하지 못하고 (방법을 찾으신 분은 알려주세요) Qt Creator를 설치해야 합니다.

설치 참고용 링크를 올려두겠습니다.

{% embed url="<http://egloos.zum.com/mcchae/v/11285592>" %}

{% embed url="<https://gist.github.com/sigmadream/45050b2efbbd64582487>" %}
