Qt Frameworks
Qt를 통하여 Application을 개발하기 위해서는 적절한 Framework를 선택하는 것이 중요합니다.
만일 Qt Programming을 처음 해 보신다면 Widget Framework로 Qt의 Signal/Slot과 Event 시스템에 익숙해 지신 다음 Graphics View Framework, Webkit View Framework, 그리고 QML등으로 사용 영역을 넓혀 보시면 좋겠습니다.
- Widget Framework
단순한 Dialog Box나 Push Button 같은 Widget을 통하여 화면을 구성하는 방식
가장 일반적인 Qt Programming 으로 알려져 있습니다.
화면에 그려야 할 Graphical Object의 수가 많아 질수록 화면의 복잡도가 높아 질 수록 Graphics View Framework보다 느리다고 알려져 있습니다. - Graphics View Framework
(http://doc.qt.nokia.com/4.7-snapshot/graphicsview.html)
QGraphicsScene과 QGraphicsView를 통하여 화면을 구성하는 Framework
화면을 구성하는 Graphic Item들을 Indexing 하거나 추가 제거가 용이하고, 화면의 복잡도가 클수록 Widget 방식보다 빠르다고 알려져 있습니다.
Rotate 및 Transfer가 단순합니다.
한 개의 Scene에 여러개의 View를 구성할 수 있습니다. - Webkit View Framework
QtWebkit Module을 통하여 화면을 Standard HTML로 구성하고 Qt Class instance를 Web View 화면에 포함시키거나 Standard HTML Element들이 Qt Signal/Slot 혹은 Event와 연동하도록 화면을 구성시키는 방식
HTML이 standard이기 때문에 Ajax 나 java script혹은 External Language나 OS 간 호환성이 뛰어 납니다.
http://doc.qt.nokia.com/4.7-snapshot/qwebframe.html
http://doc.qt.nokia.com/4.6/webkit-previewer.html - QML
(http://doc.qt.nokia.com/4.7-snapshot/qdeclarativeexamples.html)
XML + Java Script 와 같은 형식으로 화면을 구성하는 방식으로, 완벽히 동일하진 않지만 Qt용 Flash ActionScript라고 표현하면 어떨지 개인적으로 생각해 봅니다.
보통 Declarative View 모듈과 함께 동작하는 경우가 많습니다.
Qt Creator 2.0 이상 버전에서 개발하셔야 하고 Qt 4.7 이상 버전을 사용하실 것을 권장 합니다. Qt 4.6.3 에서도 개발은 가능하나 일부 API가 Qt 4.7 에서 추가되거나 변경된 것이 존재하므로 호환성에 문제가 있을 수 있습니다.
Divx Player 같은 것도 50~60 라인으로 쉽게 구현가능한 것이 장점이나 특히 Embedded 환경에서 Performance를 위해 Hardware 요구 사항이 높습니다.
제가 출판하고자 하는 것이 있어 가지고 있는 소스를 바로 올려 두진 못하겠지만, 단계별로 코드를 수정하여 예제를 올려 보도록 하겠습니다. 몇개의 예제 만으로도 Qt 의 매력에 푹 빠지실 거라고 자신있게 말씀드릴 수 있습니다.
댓글 없음:
댓글 쓰기