달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'karma( 업 )/QT&QML 시작하기'에 해당되는 글 13건

  1. 2016.12.05 QT QML 시작하기 3 - 왜 갑자기 QT QML인가?
  2. 2016.12.05 QT QML 시작하기 2 - QT는? QML은?
  3. 2016.10.23 QT QML 시작하기 1 - 니 아부지 뭐하시노?

<< Previous


정확히 기억나지는 않지만 2000년 중반 쯤 QT를 잡지책에서 한번 읽었던 것 같다. 그때는 단순히 MFC와 비슷했던 Embedded GUI 라이브러리(?) 정도 였던 걸로 기억한다.


지금 다시 QT를 만나게 됐는데 버전이 5로 업그레이드 되어 있다. 그리고 단순 GUI 라이브러리가 아니라 멀티 크로스 플랫폼이 되어 있었다.


다시 말해 JVAV와 같이 WORA( Write Once, Run Anywhere 또는 Write once, compile anywhere )가 되어 있었다.


하나의 code로 windows에서도 Mac에서도 linux에서도 실행시킬 수 있으며( 물론 컴파일은 다시 해야 겠지만...), 심지어 QT로 Embedded 장비, iOS APP과 Android APP 도 만들 수 있다.


그렇다면 왜 갑자기 요즘들어 QT QML일까?

QT를 처음 들은 이후로 내 주위에서 실제 QT로 작업하던 사람을 본적이 없었다. 그리고 개발자 사이트도 그리 크지 않더라 QT란 것이 있다고 들은 이후로 한 동안 QT 소식을 듣지 못했기 때문에 사라진 플랫폼인줄 알았다. 헌데 요즘 QT의 QML을 공부중이다. 

요즘 전장( 자동차에 들어가는 전자장비의 줄임말 )쪽에서 QML을 많이 사용하기 시작했다고 한다.

전장장비를 사용하는 자동차에서 QML을 사용할 UI가 뭐가 있을까 생각하겠지만 운전하면서 가장 많이 보는 화면이 있다. 바로 계기판( Cluster ), 또는 Automotive HMI( 자동차에서 운전자가 차량의 정보나 상태를 파악하기 위해 탑재되는 차량용 인간-기계 접속장치 )를 모두 QT의 QML을 사용해서 작업하는 추세라 한다.


Next >>

Posted by 생짜
|

<< Previous


Qt GUI 프로그램 개발에 널리 쓰이는 크로스 플랫폼 프레임워크다.

Embedded Linux, Mac OS X, Windows, Linux, Android, QNX, MeeGo, WebOS, Symbian 등 다양한 플랫폼을 지원한다. 플랫폼에 종속적인 부분만 제외하면 소스코드 변경 없이 그대로 사용 할 수 있다.

서버용 콘솔과 명령 줄 도구와 같은 비 GUI 프로그램 개발에도 사용된다. 그래픽 사용자 인터페이스를 사용하는 경우에는 Qt를 위젯 툴킷으로 분류한다. Qt를 "cute"로 발음하고 있으며 비공식적으로는 "큐티"로 발음한다. Qt는 KDE, Qtopia, OPIE에 이용되고 있다,

Qt는 C++를 주로 사용하지만, 파이썬, 루비, C, 펄, 파스칼과도 연동된다. 수많은 플랫폼에서 동작하며, 상당히 좋은 국제화를 지원한다. SQL 데이터베이스 접근, XML 처리, 스레드 관리, 단일 크로스 플랫폼 파일 관리 API를 제공한다.



QML은 2010년 말에 출시된 QT4.7에 포함된 QtQuick에서 새롭게 소개되었다.
QtQuick은 'Qt Quick User Interface Creation Kit’ 의 약자로 Qt가 새롭게 소개하는 고급 UI 기술 프레임워크다.

이전에는 UI가 정적이고 정형화되어있었지만 요즘에는 큰화면과 터치스크린을 지원하는 디바이스들이 늘면서 UI에 대한 사용자들의 눈높이가 높아졌다. 이런 요구들을 만족시키기 위해 QtQuick 프레임워크가 태어난 것이다.


QtQuick은 에디터, 컴파일, 디버깅 툴인 Qt CreatorIDE, 동적인 사용자 정의형 UI를 생성할 수 있는 엔진과 C++을 사용하여 QML 어플리케이션을 확장할 수 있는 QtDeclarative 모듈, QML (Qt Meta-Object / ㅡMarkup Language) 로 구성되어 있다.

QtQuick을 사용하면 modern-looking한 UI를 전보다 쉽고 빠르게 설계 및 개발이 가능하다.

QML은 declarative 언어이며 인터프리터 언어로 JavaScrip가 확장된 스타일의 문법 구조를 가지고 있고 JavaScript와 같은 절차 언어를 해석하는 Declaative 모듈이 있다.

Declarative 모듈은 QML로 작성한 코드를 실행할 수 있는 어플리케이션으로 변환하는 작업을 한다. QML 내에서 C++ API를 사용할 수 있다;


QML은 마치 Class 처럼 객체를 나타내는 QML Object Type과 객체의 동작을 기술하는 Jaascript function, 속성인 property로 이루어 져있다.


QML은 HTML과 비슷한 마크업 언어이다.

UI를 프론트 엔드라고 하면 core 부분을 백엔드라 한다. 이를 통해 응용 프로그램의 UI 작업과 로직부부분을 분리할 수 있다.


QT 플랫폼을 사용하여 프로젝트를 진행한다면 프론트 엔드는 QML/JavaScript로 개발하여 시스템과 인터페이스 하고 백엔드 코드는 C++을 사용하여 개발할 수 있다.




Next >>



Posted by 생짜
|

스터디를 시작하기 전에 앞으로 배울 QT에 대해 간략하게 알고 시작하자.


QT

1991년에 '하버드 노드'와 '에이릭'이 '퀘이사 테크놀로지스(Quasar Technologies)'라는 회사를 시작으로 QT 개발을 시작.

후에 '트롤 테크(Troll Tech)', '트롤텍(Trolltech)'으로 회사명이 바뀌었으나 노키아에서 트롤텍을 인수,

2012년 'Digia'로 넘어갔다가 2014년 'The Qt Company'라는 이름으로 'Digia' 자회사로 독립했다.

QT 이름은 하버드의 이맥스 글꼴 중 Q라는 글자가 예뻐 보였고, t는 X 툴킷 Xt에서 따 와서 Qt라는 이름을 붙였다.


버전 1.45까지 Qt의 원본 코드는 FreeQt 라이선스로 공개되었으며 Qt 2.0이 나오면서 Q 퍼블릭 라이선스로 공개되었다.

Qt의 초기 버전은 유닉스용 Qt/X11, 윈도용 Qt/Windows 두 가지 플랫폼만 지원했다. 윈도용은 상업적 라이선스로만 사용할 수 있었다.
2001년 말 Qt 3.0이 나오면서 맥 OS X 지원이 추가되었다. Mac OS X 지원은 2003년 6월 Qt 3.2의 GPL 버전이 OS X을 지원하기 전까지는 상용으로만 사용할 수 있었다.

Qt/Windows 4가 2005년 6월 GPL로 공개 되었고 Qt 4부터는 상용 에디션과 오픈소스 에디션 간의 플랫폼 차이가 없다.


위키백과, QT

나무위키, QT


2016년 10월....난생 처음으로, 난데없이 QT Create 를 설치하고 QML 코딩을 시작했다.

이 날이 내가 QML을 QT를 처음 본 날이다.


Next >>

Posted by 생짜
|