Hello Qt(Linux 에서 Qt 프로그램 실행)

From: http://www.yafeilinux.com/?p=763
<1>Hello Qt 소 칼 테스트!
설명:리 눅 스에 Qt 를 설치 해 야 합 니 다.
1.다음은 전체 프로그램의 상세 한 소개 입 니 다.
#include
 //첫 번 째 줄 은 응용 프로그램 클래스의 헤더 파일 을 정의 하 는 것 입 니 다.모든 Qt 그래 픽 응용 프로그램 은 이 헤더 파일 을 포함 합 니 다.Qt 그래 픽 응용 프로그램의 각종 자원,기본 설정,제어 흐름 과 이벤트 처리 등 을 포함 합 니 다.Qt 의 비 그래 픽 응용 프로그램 이 라면을 포함 해 야 합 니 다.
#include
//두 번 째 줄 은 탭 클래스의 헤더 파일 을 정의 합 니 다.
int main(int argc,char *argv[])
 //주 함 수 는 응용 프로그램의 입구 로 서 모든 Qt 응용 프로그램 은 argc 와 argv 를 입구 매개 변수 로 하 는 주 함수 이름 이 있어 야 합 니 다.
{
//괄호 를 정의 합 니 다.이것 은 프로그램의 쓰기 형식 입 니 다.       
 QApplication app(argc,argv);
 //프로그램 전체 에 사용 되 는 자원 을 관리 하기 위해 QApplication 대상 을 만 듭 니 다.Qt 프로그램 마다 하나의 QApplication 대상 만 있 습 니 다.argc 와 argv 는 QApplication 구조 함수 의 두 가지 매개 변수 입 니 다.Qt 를 지원 하 는 프로그램 처리 명령 행 인자 입 니 다.      
QLabel *label = new QLabel(“Hello Qt!~”);
//디 스 플레이 만 들 기"Hello Qt!"응용 프로그램의 창 으로 QLabel 탭 창 위 젯(window gadget 은 widget 으로 약칭)을 사용 합 니 다.응용 프로그램 창 은 보통 QMenuBar(Qt 메뉴 표시 줄),QToolBar(Qt 도구 모음),QStatusBar(Qt 상태 표시 줄)및 다른 창 위 젯 을 포함 하 는 창 위 젯 입 니 다.대부분의 프로그램 은 QMainWindow 나 하나의 QDialog 를 창 으로 사용 하지만 Qt 는 모든 창 위 젯 을 응용 프로그램 창 으로 사용 할 수 있 습 니 다.이것 이 바로 많은 사람들 이 Qt 가 유연 하 다 고 말 하 는 이유 입 니 다.사실 QLabel 대상 을 이렇게 정의 하 는 것 을 생략 할 수 있 습 니 다:QLabel label("Hello Qt!");QLabel 탭 창 위 젯 을 lable.show()로 변경 하기;      
Label->show();
//QLable 의 탭 창 위 젯 은 생 성 할 때 숨겨 져 있 기 때문에 탭 창 위 젯 을 표시 하기 위해 show()함 수 를 사용 해 야 합 니 다.      
 app.exec();
 //QApplication 의 exec()방법 을 호출 하여 프로그램의 제어 권한 을 Qt 에 전달 합 니 다.이 때 프로그램 은 이벤트 순환 상태 모드 에 들 어가 사용자 가 발생 하 는 동작 을 기다 리 고 있 습 니 다.Qt 는 이벤트 처리 및 표시 작업 을 완료 하고 프로그램 이 종 료 될 때 exec()의 값 을 되 돌려 줍 니 다.
}
2.Linux 에서 명령 행 편집 프로그램:
[root@localhost root]# mkdir hello
//mkdir 명령 으로 hello 디 렉 터 리 만 들 기
[root@localhost root]# cd hello
//cd 명령 을 방금 만 든 hello 디 렉 터 리 로 전환 합 니 다.
[root@localhost hello]# vi main.cpp
//hello 디 렉 터 리 에서 vi 로 main.cpp 파일 을 만 듭 니 다.  아래 코드 를 main.cpp 파일 에 입력 하 십시오.앞 에 소개 가 있 습 니 다.여 기 는 더 이상 말 하지 않 겠 습 니 다.
#include
#include
int main(int argc,char *argv[])
{       
QApplication app(argc,argv);       
QLabel *label = new QLabel(“Hello Qt”);       
Label->show();       
 return  app.exec();
}
3.그리고 명령 행 컴 파일 러:
[root@localhost hello]# qmake –project
//qmake–procject 를 실행 합 니 다.디 렉 터 리 가 hello 이기 때문에 hello 디 렉 터 리 에서 플랫폼 과 무관 한 프로젝트 파일 hello.pro 를 생 성 합 니 다.
[root@localhost hello]# qmake hello.pro
 //qmake hello.pro 프로젝트 파일 을 실행 한 후 hello 디 렉 터 리 에서 플랫폼 과 관련 된 Makefile 파일 을 생 성 합 니 다.
[root@localhost hello]# make
 //make 를 실행 하여 원본 코드 를 컴 파일 하고 main.o 대상 파일 과 hello 실행 파일 을 생 성 합 니 다.
[root@localhost hello]# ./hello
//hello 를 실행 하면 Hello Qt 창 이 팝 업 됩 니 다.성공 을 설명 합 니 다. 
표시 정보 에 대해 더 알 아 보 려 면 main.cpp 프로그램의 QLabel*label=new QLabel("Hello Qt!");Hello Qt!html 형식 으로 다음 과 같이 수정 합 니 다.QLabel*label=new QLabel("

Hello"Qt!

”);

Hello Qt

디 스 플레이 와 2 번 제목 글꼴 크기,html 의탭 은 Hello 를 기울 여 표시 합 니 다.Qt!Qt 를 표시 합 니 다!색상 을 빨간색 으로 설정 합 니 다.QLabel 탭 창 위 젯 왼쪽 상단 의"X"를 누 르 면 창 을 닫 고 vi 명령 으로 main.cpp C++프로그램 원본 파일 을 열 고 텍스트 에 표 시 된 내용 을 수정 한 다음 종료 저장 하고 make 명령 컴 파일 원본 코드 를 다시 실행 합 니 다.
[root@localhost hello]# ./hello
 //hello 실행 가능 한 파일 을 다시 실행 하고 팝 업 된 QLabel 태그 창 은 아까 와 다 르 게 방금 예 상 했 던 효 과 를 현실 화 합 니 다============================================================================================
위의 내용 을 참고 하여 나 는 실제로 한 번 조작 했다.환경:Fedora 12+QTCreator 2.0.1
"make"를 실행 하 는 중 오류 가 발생 했 습 니 다.힌트 ld 를 찾 을 수 없습니다.-lqt-mt.그래서 Makefile 을 열 어 자세히 보 니 안에 생 성 된 내용 에 문제 가 있 습 니 다.검색 디 렉 터 리 에 qt 3.3 디 렉 터 리 가 있 습 니 다.그래서 생 성 된 Makefile 에 문제 가 있 을 수 있 습 니 다.이 파일 은 qmake 로 생 성 되 었 기 때문에 호출 된 qmake 버 전이 잘못 되 었 을 것 으로 추정 합 니 다.
Fedora 12 를 자세히 살 펴 보면 시스템 을 설치 한 후 기본적으로 QT3 와 QT4 가 설치 되 어 있 고 QTDIR 과 같은 환경 변 수 는 QTINC 가 가리 키 는 방향 이 QTCreator 디 렉 터 리 에 있 지 않다 는 것 을 알 수 있 습 니 다.변경 전 환경 변 수 는:
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
QT_IM_MODULE=xim
QTLIB=/usr/lib/qt-3.3/lib
PATH=/opt/oracle/product/11.2.0/db_1/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zcm/bin

수 정 된 환경 변 수 는(내 컴퓨터 의 qtcreator 설치 디 렉 터 리 는:/opt/qtsdk-2010.05)입 니 다.
[zcm@qt #160]$cat qt.config
QTDIR=/opt/qtsdk-2010.05
QTINC=/opt/qtsdk-2010.05/qt/include
QT_IM_MODULE=xim
QTLIB=/opt/qtsdk-2010.05/lib
PATH=/usr/lib/qt4/bin:/opt/oracle/product/11.2.0/db_1/bin:/opt/qtsdk-2010.05/qt/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zcm/bin

위의 환경 변 수 를 설정 한 후 Makefile 을 다시 생 성 해 야 합 니 다.즉,실행:qmake hello.pro
마지막 으로 make 를 실행 하여 hello 실행 가능 한 파일 을 만 들 고 테스트 실행:./hello
자세히 비교 해 보면 서로 다른 버 전 qmake 에서 생 성 된 Makefile 내용 이 다 릅 니 다.이것 이 바로 Makefile 을 이용 하여 실행 가능 한 파일 을 만 들 때 실패 하 는 원인 입 니 다!

좋은 웹페이지 즐겨찾기