Background Image
조회 수 32877 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. 김대진 입니다.

QT 개발 프레임워크에서 CUBRID데이터베이스 와 연동하여 어플리케이션을
개발하는 방법에 대해서 소개해볼까 합니다. 우선 QT 프레임워크가 무엇인지 소개하고 두번째는
실제 CUBRID의 demodb 데이터베이스상에 존재하는 record테이블의 데이터를 CCI 인터페이스를 이용하여
QT 어플리케이션을 개발하는 방법에 대해 알아 보도록 하겠습니다.

1. QT소개
2. CUBRID 데이터베이스와 연동하여 QT어플리케이션 개발하기


QT개발자 커뮤니티 - www.qt-dev.com
=============================================================================

1. QT 개요 및 소개

QT는 UI기반의 어플리케이션 개발에 필요한 모든 API를 다양한 플랫폼상에서 지원이 가능합니다.
그렇기 때문에 QT를 이용하여 어플리케이션 개발 시 플랫폼에 상관없이 한번의 소스코드 작성으로 다양한
플랫폼에 적용할 수 있는 장점을 가지고 있습니다. 즉 소스 코드를 다시 작성하지 않고도  데스크탑과
임베디드 운영체제에 적용할 수 있습니다. 
 QT는 GUI뿐만 아니라 네트워크, 그래픽, 데이터베이스, OpenGL등 다양한 분야에서 사용 가능한 방대한
API를 쉽고 직관적인 구조의 라이브러리로 제공되므로 소스코드 작성이 쉬울 뿐 아니라 직관이지므로
어플리케이션 개발에 소요되는 시간을 단축할 수 있습니다.
 

l  QT에서 제공하는 GUI 위젯들

 

 

l  간단하고 쉽게 사용가능 한 QT API사용

 

 

아래 그림에서 보는 것과 같이 QT API 2D 3D Painting 뿐만 아니라 OpenGL 과 같은 그래픽 API

SVG API와 멀티미디어 기능을 쉽게 구현할 수 있는 API를 제공 합니다.

 

 

l  Webkit API를 이용하여 인터넷 브라우저 및 인터넷 컨텐츠 관련 어플리케이션 개발이
가능합니다.

Qt Phonon이라는 멀티미디어 프레임워크*를 사용하여, 데스크탑과 임베디드 운영체제

전반에 걸쳐 가장 보편적인 멀티미디어 포맷 재생(playback) 기능을 제공합니다.

Phonon을 통해 Qt 애플리케이션에 오디오 및 비디오 재생 기능을 포함시키는 것이 용이하며 각

대상 플랫폼에 대한 멀티미디어 포맷과 프레임워크를 지원할 수 있습니다.

 

애플리케이션에 오디오 및 비디오 재생 기능을 포함시키는 것이 용이하며 각 대상 플랫폼에

대한 멀티미디어 포맷과 프레임워크를 지원할 수 있습니다.

 

l  UI의 커스터마이징과 테마 스타일

UI에서 사용되는 위젯 혹은 컴포넌트의 사용자 커스터마이징이 가능하며 뿐만 아니라

사용자가 직접 위젯을 디자인 할 수 있습니다. 그리고 Windows, Linux XWindow 그리고

MacOS 등 다양한 테마를 사용할 수 있으며 제작이 가능합니다.

 

 

 

l  개발 IDE의 제공

그리고 QT는 개발툴로 IDE 환경 QT Creator 를 제공하고 이클립스, 비주얼스튜디오 상에서

개발이 가능한 IDE 플러그 인을 제공합니다.

 


 

어플리케이션 개발에 UI에서 사용할 컴포넌트 혹은 위젯을 UI상에 추가, 배치, 수정 할 수

있는 툴을 제공하며 이 디자이너 툴은 위의 그림에서 보는 것과 같이 위의 IDE 개발툴에

디자이너 툴이 포함되어 제공하며 별도의 QT Designer 툴로도 제공됩니다.

 


 

UI 디자인 툴은 단순히 컴포넌트 혹은 위젯배치 외에 이벤트 발생루틴 추가 등과 관련하여

어플리케이션 개발을 더 쉽게 개발할 수 있는 다양한 옵션을 제공합니다.


 

 

어플리케이션 개발에 다양한 언어를 사용해야 하는 경우 QT는 복잡한 소스코드상에서

모듈개발 없이 국제화 언어 지원 툴인 QT Linguist 툴을 사용하여 여러 가지 언어를 지원하는

어플리케이션 개발을 쉽게 완성할 수 있습니다.

  

  

어플리케이션을 개발하다 보면 방대한 API 검색을 쉽게 할 수 있도록 QT Assistant 툴을

제공합니다. 이 툴은 INDEX 혹은 KEYWORD별 검색이 가능하고 QT의 모듈 별 정리되어

개발자가 쉽게 필요한 API를 찾아볼 수 있는 기능을 제공합니다.

  


 

위의 그림에서 보는 것과 같이 Assistant툴은 도움말 이외에 해당 어플리케이션에 대한

예제도 포함되어 있으므로 어플리케이션 개발에 유용합니다. Assistant 툴과 같이 QT

이용하여 개발한 어플리케이션을 빌드와 디버깅을 할 수 있는 기능을 제공합니다.


 

 


 

l  QVFB ( QT Virtual Frame Buffer)의 지원

QT를 이용하여 데스크탑 어플리케이션 개발 이외에 임베디드 디바이스를 위한

어플리케이션 개발에 가상의 프레임버퍼 기능인 QVFB(QT Virutal Frame Buffer) 기능을

제공합니다. 이 기능은 임베디드 상에서 개발되는 어플리케이션을 가상의 에뮬레이터를

통해 개발을 할 수 있는 환경을 제공합니다.

 

위의 그림에서 보는 것과 같이 QVFB 툴은 기본으로 제공되는 스킨 외에도 사용자가

직접 임베디드의 스킨을 만들어 QVFB의 외관으로 사용함으로써 실제 임베디드 디바이스와

비슷한 환경을 구축할 수 있으며 Virtual Framebuffer 의 크기를 변경할 수 있습니다.

 

l  SQL 모듈

QT는 또한 MODEL VIEW 방식을 사용하여 다양한 위젯을 제공하고 표준화된 SQL모듈을

이용하여 여러 데이터베이스를 동일한 API를 이용하여 접근하고 사용할 수 있는 편의성을

제공합니다.

 


 

l  다양한 플랫폼에서의 지원

QT를 이용해 어플리케이션 개발과 UI를 작성한 코드는 다양한 운영체제에서 재

사용이 가능합니다. 그러므로 한번 작성한 코드는 데스크탑 어플리케이션뿐만 아니라

임베디드 디바이스에도 적용할 수 있으므로 시간과 개발 비용을 절약할 수 있는 장점을

가지고 있습니다.


 

Windows

n  OpenGL Dircet3D

n  멀티쓰레드, Phonone 머티미디어

n  Webkit, 데이터베이스, XML

n  ECMA 표준 스크립트

  


MacOS

n  Aqua Native 스타일 지원, OpenGL

n  멀티쓰레드, Phonone 머티미디어

n  Webkit, 데이터베이스, XML

n  ECMA 표준 스크립트

 


 

Linux / X11

n  OpenGL, 멀티쓰레드

n  Phonone 머티미디어, WebKit

n  데이터베이스, XML

n  ECMA 표준 스크립트

 

QT는 데스크탑과 같은 윈도우, OS, 리눅스외에 임베디드 디바이스상에서 동작하는 당양한

운영체제 플랫폼 또한 지원합니다.
 

 

같은 윈도우, OS, 리눅스 외에 임베디드 디바이스상에서 동작하는 다양한 운영체제 플랫폼

또한 지원합니다.

 

l  QT의 적용 사례

 

1.   ASUS EeePC - http://qt.nokia.com/qt-in-use/story/app/AsusEeepc

 

  

ASUS는 자사의 모바일 인터넷 장비인 Eee PC를 위한 포괄적인 소프트웨어 개발자 도구(SDK)

릴리스 하였다. ASUS Eee PC의 리눅스 버전은 Qt 기반의 유명 데스크탑 환경인 KDE를 사용합니다.


 

2.   NetFlix Player - http://qt.nokia.com/qt-in-use/story/device/roku

Roku 장비는 Qt 기반 인터페이스를 통해 Netflix에서 소비자의 TV까지 비디오 컨텐츠를 직접

스트리밍 합니다.


 

 

 

 

3.   Barco - http://qt.nokia.com/qt-in-use/story/customer/barco

Barco 디지털 프로젝터의 Communicator 터치 패널은 Qt를 이용해 만들었기 때문에 효과적인

GUI와 원소스 코드 멀티플랫폼 배포가 가능합니다.


 

 


 

4.   Dash Navigation - http://qt.nokia.com/qt-in-use/story/customer/dash

Dash Navigation Qt를 이용해 쌍방향 인터넷 접속 기능을 갖춘 최초의 GPS 내비게이션 장비인
Dash Express를 만들었습니다.



 

  


 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
106 Linux CUBRID DB와 Broker 분리방안 정만영 2010.04.28 28411
105 기타 데이터 저장 구조와 테이블 재구성 file 손승일 2010.04.21 37489
104 기타 CUBRID 복제 구성하기 - 단일 서버에 구성 방법 포함 남재우 2010.03.08 30002
103 Windows 윈도우즈 환경에서 배치화일을 이용하여 백업 또는 데이터베이스 정리 수행하기 남재우 2010.03.03 27479
102 Linux CUBRID 복제 설계 가이드 file 정만영 2010.03.03 25138
101 Linux CUBRID 사용 포트와 iptables(방화벽) 설정 정만영 2010.03.01 38341
100 기타 자동증가 속성 사용 방법 및 주의 사항 남재우 2010.02.26 35661
99 기타 CUBRID 관련 유용한 기술 자료... 정병주 2010.02.19 33460
98 기타 Server HA 구성 시 CUBRID 설정과 방법 정만영 2010.02.03 21184
97 ODBC/OLEDB Vista_IIS_CUBRID_ASP연동 janus 2010.01.31 24553
96 Install CUBRID2008 R2.1 업그레이드시 serial 관련 문제 해결 방법 남재우 2010.01.28 27347
95 기타 CUBRID 데이터베이스와 연동하여 Qt어플리케이션 개발하기 - 2 3 김대진 2010.01.27 24541
» 기타 CUBRID 데이터베이스와 연동하여 Qt어플리케이션 개발하기 - 1 김대진 2010.01.14 32877
93 기타 CUBRID인덱스 구성 전략 웁쓰 2009.12.31 22193
92 기타 조인 방법(Join Method) 설명 file 웁쓰 2009.12.31 27989
91 기타 스칼라 서브쿼리 사용 가이드 웁쓰 2009.12.31 28268
90 Install CUBRID 에 텍스트큐브 설치하기 file inureyes 2009.12.31 29852
89 기타 예제로 배우는 CUBRID 스터디 문학청년 2009.12.29 18546
88 기타 독자적 테이블 사용되는 복제 재구성 file 손승일 2009.12.30 24173
87 Java SELECT ~ FOR UPDATE 대체 방법 손승일 2009.12.30 32366
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales