본문 바로가기

프로젝트 이야기/드론을 이용한 식물 이상 탐지 시스템

드론을 이용한 식물 이상 탐지 시스템 - Qt UI 만들기

전 글에도 설명했다시피 PyQt5에 능숙하다면 코드를 이용해 모든 UI를 구현하는 것도 가능합니다.

하지만 코드로 모든 오브젝트를 배치하는 건 불편하기 때문에

Qt Creator를 이용하여 UI를 만든 후, PyQt5로 변환해주는 방법을 사용했습니다.

 

Qt Creator는 Qt에서 제공하는 GUI 제작 플랫폼입니다.

GUI 환경에서 UI를 만들고 코드를 제작하는 것이 가능합니다만

Qt는 기본적으로 C++로 제작되어 있기 때문에 Qt Creator에서 모두 구현하려면 C++코드를 이용해야 합니다.

 

저희는 파이썬 코드로 구현하기 위해 PyQt를 이용했는데,

UI를 만드는 것은 Qt Creator로 만든 ui 파일을 변환해서 만드는 것이 가능합니다.

 

먼저 Qt Creator를 이용하기 위해 Qt를 설치합니다.

Qt는 무료 프레임워크이기 때문에 개인 사용자는 홈페이지에서 바로 다운로드 받는 것이 가능합니다.

아래는 다운로드 주소입니다.

https://download.qt.io/archive/qt/

 

Index of /archive/qt

 

download.qt.io

여러가지 버전을 선택할 수 있습니다만, 저는 최신 버전인 5.13버전을 설치해 보도록 하겠습니다.

리눅스의 5.13.0버전을 다운로드 받습니다.

 

설치파일 다운로드가 완료되면 chmod를 이용해 실행권한을 줍니다.

이후 설치파일을 실행합니다.

 

이렇게 생긴 설치프로그램이 실행됩니다.

Next를 눌러주고..

 

로그인을 해 주어야 합니다.

계정이 없다면 아래의 Sign-up을 통해 가입을 진행한 후 설치를 진행합니다.

 

Qt 본체는 필요가 없으므로 체크를 해제해 줍니다.

Qt Creator를 설치할 수 있는 설정으로만 해주시면 됩니다.

 

라이센스 동의를 체크해주고 Next > 를 클릭하면 설치가 시작됩니다.

 

설치가 완료되면 Qt Creator가 실행됩니다!

새 위젯을 만드는 방법을 살펴봅시다.

 

File->New File or Project... 를 클릭하고

 

UI만 생성하면 되기 때문에 프로젝트를 만들어주지 않고

Qt의 Qt Designer Form을 선택해줍니다.

 

기본 버튼이 있는 형식, 메인 윈도우 형식 등 다양한 형식이 있습니다.

원하는 형식이 있을 경우 그 형식을 선택해주시면 됩니다.

가장 아래의 Widget은 기본적인 빈 폼입니다.

Widget을 선택해 보겠습니다.

 

파일명과 저장위치를 지정해줍니다.

 

프로젝트와 버전컨트롤 설정입니다.

저희는 UI파일만 만들면 되므로 None으로 두고 Finish를 클릭해 줍니다.

 

기본 위젯이 생성되었습니다!

이제 Qt Creator를 이용해 좌측의 버튼들을 손쉽게 추가할 수 있고

드래그 앤 드롭을 이용한 위치설정과 손쉬운 옵션 설정 등이 가능합니다.

 

Qt Creator를 이용해 이런저런 위젯을 생성한 뒤에

만들어진 .ui파일을 변환시켜 PyQt5 코드로 만들 수 있습니다.

아무것도 없는 빈 위젯으로 한 번 해보도록 하겠습니다.

 

pyuic5 를 이용해 가능합니다.

pyuic5 -x <ui_filename> -o <output_filename>

출력파일은 .py파일로 생성되고

파이썬을 이용해 바로 실행시켜서 윈도우를 띄워보는 것도 가능합니다.

 

코드를 살펴보면 모두 파이썬 코드로 되어있는 것을 알 수 있습니다.

 

이제 이 코드를 사용하여 각종 UI기능을 파이썬으로 구현하는 것이 가능합니다.

 

다음 포스팅들을 통해서는 저희가 만든 드론을 이용한 식물 이상 탐지 시스템의 서버 프로그램을 어떤 식으로 구현했는지 알아보도록 하겠습니다.