Presentation is loading. Please wait.

Presentation is loading. Please wait.

QT 프로그래밍 발표: 김래영.

Similar presentations


Presentation on theme: "QT 프로그래밍 발표: 김래영."— Presentation transcript:

1 QT 프로그래밍 발표: 김래영

2 소개 사용자 정의 슬롯 QT 디자이너 Qt/Embedded 포팅

3 사용자 시그널 정의 Qapplication::quit() 사용자 정의 슬롯으로 구현 Exit.h file
#include <qobject.h> class Exit : public QObject { Q_OBJECT public: Exit(); public slots: void myQuit(); };

4 사용자 시그널 정의 #include "Exit.h"
Exit::Exit() { } void Exit::myQuit() { exit(0); } int main(int argc, char **argv) { QApplication a(argc, argv); QPushButton quit( “Quit”, 0 ); Exit *exit = new Exit; QObject::connect (&quit, SIGNAL(clicked()), exit,SLOT(myQuit()) ); a.setMainWidget( &quit ); quit.show(); return a.exec(); } “exit.cpp”

5 사용자 시그널 정의 컴파일후 생성되는 파일( tmake사용) 커스텀 시그널,슬롯 Q_OBJECT 매크로 컴파일 방법
moc_exit.cpp moc_exit.o 커스텀 시그널,슬롯 moc 이용 C++이 알수 있는코드로 변환 Q_OBJECT 매크로 컴파일 방법 Q_OBJECT 매크로는 헤더 파일에 작성 구현부분은 소스(.cpp) 파일에 작성 progen , tmake 사용

6 QT 디자이너 디자이너는 *.ui 파일을 생성 ui 파일은 HTML 형식
<!DOCTYPE UI> <UI> <class>MyForm</class> <widget> <class>Qwidget</class>

7 QT 디자이너 *.ui 파일 컴파일 방법 uic 를 사용하여 *.h *.cpp 파일 자동 생성
Ex) myform.ui 가 보관된 디렉토리에 myform.pro 파일 생성 #qmake –project main.cpp 생성 uic 를 사용하여 *.h *.cpp 파일 자동 생성 #uic –subdecl MyFormImpl myform.h myform.ui >myfprmimpl.h #uic –subimpl MyFormImpl myform.h myform.uii > mufprmimpl.cpp tmake 로 Makefile 생성

8 QT Embedded 포팅 Embedded 포팅 순서 커널 포팅 Qt/Embedded 포팅 Application 포팅

9 커널 포팅 크로스 컴파일러 커널 컴파일 루트 이미지 설치 < 커널 포팅 흐름 >

10 Qt/Embedded 포팅(1) Qt/Embedded 라이브러리 ARM 용으로 컴파일 Cross 컴파일러 사용 Download
ftp://ftp.netwinder.ort/users/c/chagas ftp://ftp.netwinder.ort/users/r/rtvanals

11 QT Embedded 포팅(2) 환경설정 새로운 경로에 Qt/Embedded 설치 Makefile 수정
~/arm/qt 디렉토리( QTDIR ) Makefile 수정 sub-tutorial sub-example 삭제 ( Line 11 ) 라이브러리만 컴파일 $QTDIR/configs 수정

12 QT Embedded 포팅(3) Config 파일수정 linux-arm-g++-shared
SYSCONF_CXXFLAGS_QT = -I/$(QTDIR)/incude –I/usr/local/arm-linux/include SYSCONF_LINK_LIB_SHARED = … -L/usr/local/arm-linux/lib … ./configure –xplatform linux-arm-g++ libqte.so 생성 확인

13 Application 포팅 tmake 설정 export TMAKEPATH= export QTDIR=~/arm/qt-2.3.2
~/tmake-1.8/lib/qws/linux-arm-g++ ( 컴파일 후 파일 전송 실행 )

14 Application 포팅 #include "entry.h“ #include <qapplication.h>
Entry::Entry(){ layout = new QGridLayout(this); layout->setMargin(4); layout->setSpacing(4); addEntry(0,0,"name"); addEntry(1,0,"addr"); addEntry(2,0,"Tel"); addEntry(2,2," "); QPushButton *button=new QPushButton("reg",this); button->setFixedSize(button->sizeHint()); layout->addMultiCellWidget(button,3,3,0,3); } < entry.cpp >

15 Application 포팅 void Entry::addEntry( int row, int col, const QString& tag) { QLabel* label=new QLabel(tag,this); layout->addWidget(label,row,col); QLineEdit *lineedit = new QLineEdit(this); if (row==1) layout->addMultiCellWidget(lineedit,1,1,1,3); else layout->addWidget(lineedit,row,col+1); label->setBuddy(lineedit); } <entry.cpp>

16 Application 포팅 progen entry.cpp > entry.pro
tmake entry.pro >Makefile (tmake 사용전에 환경변수를 ARM 용으로 설정) make 바이너리 확인 arm-linux-strip Target board로 전송

17 실행화면 SHARP SL-5500 에서 실행한 화면


Download ppt "QT 프로그래밍 발표: 김래영."

Similar presentations


Ads by Google