-- Contents --

    [*] 라즈베리파이 OS x64 설치하기 : https://makeutil.tistory.com/136

    [*] QT5 설치하기 : https://makeutil.tistory.com/138

    [*] QT5 Webengine 설치 : https://makeutil.tistory.com/166

     

    000. Prologue : <현재>

    001. HelloWorld Project : https://makeutil.tistory.com/169 

    002. HelloWorld 프로젝트 구경하기 :  https://makeutil.tistory.com/171

    003. BasicTextWidget Example : https://makeutil.tistory.com/173

    004. BasicTextWidget 내용 둘러보기 : https://makeutil.tistory.com/174

    005. LayoutExample : https://makeutil.tistory.com/175

    006. Radiobutton Example : https://makeutil.tistory.com/177

    007. CheckboxExample : https://makeutil.tistory.com/178 

    ------------------

     

      라즈베리파이 4 또는 400에서 QT 개발환경을 설치하고 QT 애플리케이션을 만들어보는 경험을 필자와 함께 가지고 싶은 독자들을 위해서 연재를 시작한다. 기존에 QT를 이용하여 소프트웨어를 개발한 독자라면 굳이 본 연재물을 볼 필요가 없다. 필자도 QT를 잘 하는것도 아니고, 일하다가 시키면 꾸냥꾸냥 하는 정도이기에 누구를 굳이 가르킬 수준은 되지 않는다고 생각한다. 다만, 리눅스 기반의 프로그래밍 또는 처음 접하는 독자들이 필자의 글을 보고 따라하면서 보다 나은 미래를 가질 수 있는 아주작은 기회가 된다면 그것만으로 필자는 족하다. 

     

      우선 QT의 역사부터 알아보는게 좋겠지만, 그런 부분은 인터넷에 널려있으니 그거 찾아서 보도록 하시고 QT를 잘 하면 여러분들에게 어떤 도움이 되는지만 간단하게 이야기 해보겠다. 

     

    1. Advantages of leaning QT

      필자가 연재 할 QT를 접하면서 여러 독자들이 얻을 수 있는 내용을 정리하면 다음과 같다.

    1)  리눅스에서 처음 프로그래밍 해보는 경험을 가지게된다.

    2) 그것도 GUI를 가지는 프로그래밍을 경험해본다.

    3) CPP 기반이지만 기본적인 CPP를 몰라도 간단한 GUI 프로그래밍을 해볼 수 있다. 

    4) 잘하지 못해도 그럴싸한 프로그램을 만들수 있다.

    5) 잘만하면 졸업작품 정도는 해결할 수 있다.

     

     

      잘했을 때 여러분들이 얻을 수 있는 것들은 다음과 같다. 

    1) QT는 대부분의 운영체제에서 지원하므로 실무에서 사용할 가능성이 높은편이다.

      QT는 Windows, MAC, Linux OS를 기본적으로지원하며, Android, VxWorks등 다양한 운영체제를 지원.

     

    2) 국방 및 자동차, 전자제품 업계의 GUI를 구성하는데 이용된다.

      필자가 진행했던, 그리고 다른팀에서 진행했던 양산 및 개발과제에 QT가 이용되었으며, 지금도 개발에 이용된다.  또한 자동차의 전장이 GUI요소가 늘어나게 됨에 따라 기능적이며 화려한 UX를 요구하는 플랫폼에 적용되어지고 있다. 뿐만아니라, 전자제품 제품 검증프로그램등에도 많은 부분 사용되므로 경험해놔서 나쁠 것 없다. (전자제품 업계에서는 주로 C#이 주로많이 이용되며, QT도 많은 부분 사용된다. 그리고 MFC도.. 아직까지..

     

    3) QT는 데이터베이스, 파이선, OpenCV등 프로그래머가 앞으로 어쩔수 없이 해야할 많은 라이브러리를 품을 수 있다.

       다양한 라이브러리를 내부 인터페이스 또는 라이브러리를 가져와 사용할 수 있다. 라이브러리를 이용하여 대부분 구현후 결과만 화면에 가져다 출력하기 나쁘지 않다.

     

    이외에도 많은 장점이 있겠지만... 이정도 까지만 해두도록 하고...

     

     

    2. Contents

      필자가 만들고자 하는 컨텐츠는 다음과 같다. 더 많은 부분을 하고 싶긴 하지만 시간이 될지 모르겠다. 아래의 내용을 하는데도 많은 시간이 소요될 것같은데. 매번 이것만 할 순 없으니 차근차근 진행 해보도록 하겠다. 

     

    1) 기본 위젯을 이용한 GUI형 개발. 

       기본적인 사용방법을 경험해본다.

    2) 통신프로그램

       시리얼통신과 네트워크 프로그래밍을 경험해 본다.

    3) 장치제어 

        라즈베리파이의 기본 장치들을 제어해본다.

    4) 영상다루기 

       웹카메라 또는 라즈베리파이 카메라를 이용하여 OpenCV를 경험해본다.

     

     

    3. 독자에게 바라는 것은?

      프로그래밍은 어렵다면 어렵고 쉽다면 쉽진 않다. 내가 보기 쉬운것들은 남들이 보기에도 쉽고, 내가 어렵다고 생각한 것들은 남들도 어려울 수 있다. 다만, 얼마나 포기하지 않고 노력을 하느냐에 따라서 시간이 지남에 따라 쉬워질 가능성이 높다. 뿐만 아니라, 다양한 코딩 경험을 통해서 내가 잘 하지 못해도 다른사람의 소스를 통해 내가 더 발전할 수 있게 된다. 단순하게 가져다 쓰는 것이 아니라 가지고와서 내것으로 만드는 것이 가장 중요하다. 그렇게 만든것은 다시 다른사람들을 위해서 열어두는 것이 좋지만, 그 부분은 본인의 의사에 따라 알아서 하도록 하면된다. 정리하면 다음과 같다. 

     

    1) 천천히 진행 하더라도 포기하지 말 것.

    2) 시작 했으면 뭐라도 만들 것.

    3) 다른사람의 소스를 가져왔다고 부끄러워하지 말고 가져와서 분석해서 내것으로 만들 것.

    4) 모르면 나보다 어린사람에게도 물어볼 수 있는 뻔뻔함을 가질 것

    5) 본 블로그의 글들이 도음이 되었다면, 다른사람에게도 베풀고 원문링크나 댓글 정도는.... ㅜㅠ

     

    어쨋되었건, 독자들의 삶에 0.0001%라도 도움이 되었으면 함.

     

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기