infatuation

QT 프로그래밍 본문

Study/OS&Linux

QT 프로그래밍

화령 2009. 5. 14. 04:17

종합설계 수업에서 각종 모듈을 사용해서 설계를 하고 구현하고 보드가지고 장난치기정도.......요런 수업을 하는데
QT 프로그래밍을 해야 보드에 붙어있는 귀여운 터치 스크린에 뭐 글씨라도 날릴 수 있지 않을까 ㅋㅋ 
사실 큐티 요번에 처음 접해본거라- 언제 어디서나 시작은 헬로월드와 함께 !! 
큐티 설치하는건 한백전자에서 준 메뉴얼 고대로-  

출처 : 뽀은이 티스토리에서 살짝 가져옴  

"Hello World"

#include <qapplication.h>
#include <qpushbutton.h>
int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 QPushButton hello("Hello, world!!", 0);
 hello.resize(100,30);
 a.setMainWidget(&hello);
 hello.show();
 return a.exec();
}


☆ Code View

▷ #include <qapplication.h>
 - QApplication 클래스 정의
 - Qt를 사용하는 모든 애플리케이션에는 한 개의 QApplication 객체

▷ #include <qpushbutton.h>
 - QPushButton 클래스의 정의
 - GUI 누름 버튼
 - widget처럼 자신만의 look and feel을 관리
 - 텍스트 또는 pixmap으로 보여질 수 있다.

▷ int main( int argc, char **argv )
 - main() 함수는 프로그램의 시작
 - argc는 command-line 인자수
 - argv는 command-line 인자의 배열

▷ QApplication a( argc, argv );
 - a 는 이 프로그램의 Qapplication
 - QApplication은 생성되고 command-line 인자(즉, X11하의 -display 와 같은)들을 처리

* 주의: Qt의 어떠한 window-system 부분이 사용되기 전에 QApplication 객체가 생성되어야만 한다.

▷ QPushButton hello( "Hello world!", 0 );
 - QApplication후에, 처음의 window-system code
 - push button 하나를 생성
 - 이 버튼은 "Helloworld!"라는 텍스트를 보여줌

▷ hello.resize(100, 30);
 - 버튼의 크기를 window system frame에 지정
 - 100 pixel 폭과 30 pixel 높이로 셋팅
 - 버튼의 위치를 고려하지 않고 기본값

▷ a.setMainWidget( &hello );
 - push button을 main widget과 연결
 - 사용자가 main widget을 닫으면 애플리케이션 종료
 - 반드시 main widget을 가질 필요는 없지만 대다수 프로그램들은 사용
 
▷ hello.show();
 - Widget은 생성하기만 하면 보이지 않음

▷ return a.exec();
 - main()에서 Qt로 제어이동.
 - exec()는 애플리케이션이 종료될 때 return


☆ 컴파일

[root@localhost hello]$ qmake -project
[root@localhost hello]$ ls
hello.cpp  hello.pro
[root@localhost hello]$ qmake
[root@localhost hello]$ ls
Makefile  hello.cpp  hello.pro
[root@localhost hello]$ make

 * error 가 나면? Makefile 에서 QTDIR 의 경로를 설정 (배시파일에 있는 경로대로)

☆ 실행
 - 일반 실행
[root@localhost hello]$ ./hello

 - 옵션 실행
   : X11인 경우  -geometry 옵션
     -geometry 100x100+10+20
     가로, 세로(크기),  가로,세로 (시작위치)
[root@localhost hello]$ ./hello -geometry 100x100+10+20

'Study > OS&Linux' 카테고리의 다른 글

TFTP 설정  (0) 2009.06.08
리눅스 압축파일 사용 명령어  (0) 2009.06.08
OSGi - 임베디드를 넘어 엔터프라이즈로!  (0) 2009.05.14
OSGI Technology  (0) 2009.05.14