ÀÌ ¸Å´º¾óÀº JKÀüÀÚ(JK Electronics) ¿¡ ÀÇÇؼ­ ¹ø¿ª, ¼öÁ¤, ÀÛ¼º µÇ¾ú°í ¼ÒÀ¯±Ç ¶ÇÇÑ
JKÀüÀÚ(JK Electronics)
ÀÇ °ÍÀÔ´Ï´Ù. ¼ÒÀ¯±ÇÀÚÀÇ Çã°¡¸¦ ¹ÞÁö ¾Ê°í ¹«´ÜÀ¸·Î ¼öÁ¤, »èÁ¦Çϰųª ¹èÆ÷ ÇÒ ¼ö ¾ø½À´Ï´Ù.
 

S3C6410 Start Kit QT2.2.0 Application Developer Guide


 

* Update history

- 2011.4.23 : Ãʱâ Release


  ÀÌ ¸Þ´º¾óÀº Qtopia-2.2.0, Qt-Extendded-4.4.3 (Qtopia Phone Edition), QtE-4.7.0¸¦ S3C6410 Start Kit ¾îÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ´ëÇÑ ³»¿ëÀ» ¼³¸íÇÏ´Â ¸Þ´º¾ó ÀÔ´Ï´Ù.

1. Qtopia 2.2.0 Application Programming
1.1 My Calculator

À̹ø Àý¿¡¼­´Â Qtopia2.2.0 ÀÇ ARM ¹öÁ¯ÀÇ ¿¹Á¦ ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ÀýÂ÷¿Í ½ÇÁ¦·Î ¸î°¡Áö ¿¹Á¦¸¦ ÀÛ¼ºÇØ º¸µµ·Ï ÇÕ´Ï´Ù. ¾Æ·¡´Â ÀÌÁ¦ºÎÅÍ ÀÛ¼ºÇÒ ¿¹Á¦ÀÎ °è»ê±â°¡ ½ÇÇÛµÈ È­¸é ÀÔ´Ï´Ù.

qtopia

°³¹ß¿ë PC¿¡ Qt ¿¹Á¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ÀÛ¾÷ µð·ºÅ丮ÀÎ "qtopia2_apps" directory ¸¦ »ý¼º ÇÕ´Ï´Ù.

# mkdir -p /opt/qtopia2_apps
# cd /opt/qtopia2_apps
# mkdir mycalc

(1) Qt µðÀÚÀÌ³Ê ½ÇÇà

GUI ȯ°æÀÇ °³¹ßÅøÀ» ÀÌ¿ëÇؼ­ Qt ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸µµ·Ï ÇÕ´Ï´Ù. Qt µðÀÚÀ̳ʸ¦ ÀÌ¿ëÇؼ­ "main_form_base.ui" ÆÄÀÏÀ» »ý¼º ÇÕ´Ï´Ù.

# cd mycalc
# /opt/mini6410/qtopia-free-2.2.0/qt2/bin/designer main_form_base.ui

À§ÀÇ ¸í·ÉÀ» ½ÇÇàÇϸé "New Form" ´ÙÀ̾ó·Î±×°¡ ³ª¿À°í ¿©±â¿¡¼­ "Widget" À» ¼±ÅÃÇÕ´Ï´Ù.

qtopia

(2) ÇÁ·Î±×·¥ GUI µðÀÚÀÎ

Qt µðÀÚÀ̳ʴ ÀÚµ¿À¸·Î ".ui" GUI ¸®¼Ò½º ÆÄÀÏ°ú ".ui" ÆÄÀÏ°ú °ü·ÃµÈ C++ ÆÄÀÏÀ» »ý¼º ÇÕ´Ï´Ù. À§Á¬À» »ý¼ºÇÑ ÈÄ¿¡ »ý¼ºµÈ À©µµ(À§Á¬)ÀÇ ¼Ó¼º°ú °ªµéÀ» ¼öÁ¤ ÇÕ´Ï´Ù. À©µµÀÇ Å©±â´Â °³¹ßº¸µåÀÇ LCD»çÀÌÁî¿¡ ¸Âµµ·Ï Àû´çÇÑ Å©±â·Î º¯°æ ÇÕ´Ï´Ù.

qtopia

À§¿¡¼­ À©µµ ¼Ó¼º°ªµéÀ» º¯°æÇÑ ÈÄ¿¡ À©µµ¿¡ ÄÁÆ®·ÑµéÀ» ¹èÄ¡ÇÏ°í ¼Ó¼º°ªµéÀ» ¼öÁ¤ ÇÕ´Ï´Ù.À©µµ ȯ°æ¿¡¼­ Visual C++, Basic µîÀÇ ÇÁ·Î±×·¥À» °³¹ßÇغ» °³¹ßÀÚ¶ó¸é ±²ÀåÈ÷ ºñ½ÁÇÏ´Ù°í ¿©°ÜÁú °ÍÀÔ´Ï´Ù.
¾Æ·¡ ±×¸²Ã³·³ ÄÁÆ®·ÑµéÀÇ ¼Ó¼ºÀ» ¼öÁ¤ ÇÕ´Ï´Ù.

qtopiaqtopia

qtopia

¿©±â±îÁö ÄÁÆ®·Ñµé¿¡ ´ëÇÑ ¼Ó¼º(Property) ¼³Á¤±îÁö´Â ¿Ï·á µÇ¾ú°í ÀÌÁ¦ ÄÁÆ®·Ñµé¿¡ À̺¥Æ® Çڵ鷯¸¦ ¿¬°áÇØ º¸µµ·Ï ÇսôÙ.

(3) À̺¥Æ® ÇÔ¼ö Ãß°¡

"=" ÅؽºÆ®ÀÇ ¹öÆ° ÄÁÆ®·Ñ¿¡ Click Event¸¦ ¿¬°áÇØ º¸µµ·Ï ÇսôÙ. Click Event´Â »ç¿ëÀÚ°¡ "=" ¹öÆ°À» ¸¶¿ì½º, ȤÀº Å°º¸µå·Î ³î·¶À»¶§ ¹ß»ýÇÏ´Â À̺¥Æ® ÀÔ´Ï´Ù. À̶§ ½ÇÁ¦·Î »ç¿ëÀÚ°¡ ¹öÆ°À» Ŭ¸¯ ÇßÀ»¶§ ¾î¶² 󸮸¦ ¼öÇà½ÃÅ°°í ½ÍÀ¸¸é ¹öÆ°ÀÇ Å¬¸¯ À̺¥Æ®¿Í ÇÔ¼ö¸¦ ¿¬°á ½ÃÅ°¸é µË´Ï´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ­ ¹öÆ°ÀÇ "Slot Editor" ¸¦ ½ÇÇà ÇÕ´Ï´Ù. Èí»ç À©µµ¿¡¼­ ºñÁÖ¾óC++ °³¹ßÇÒ¶§ À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇϴ°Ͱú ºñ½Á ÇÕ´Ï´Ù. ´ÜÁö Qt¿¡¼­´Â ÀÌ·± °ÍµéÀ» À̺¥Æ®°¡ ¾Æ´Ñ Slot¿Í SignalÀ̶ó´Â ¸ÞÄ¿´ÏÁòÀ» ÅëÇؼ­ ±¸Çö ÇÕ´Ï´Ù. "MainForm" À§¿¡¼­ ¿À¸¥ÂÊ ¸¶¿ì½º¸¦ Ŭ¸¯ÇÏ°í "Slot" ¸Þ´º¸¦ ¼±Åà ÇÕ´Ï´Ù

qtopia

"New Slot" ¹öÆ°À» Ŭ¸¯ÇÑ ÈÄ Slot À̸§À» "calcButtonClicked()" ¿Í "closeButtonClicked()" ¸¦ Ãß°¡ ÇÕ´Ï´Ù.

 

qtopia

³ªÁß¿¡ Click À̺¥Æ®¿¡ ´ëÀÀÇÏ´Â ÀûÀýÇÑ ÇÔ¼ö¸¦ ¿¬°á ÇØ¾ß ÇÕ´Ï´Ù.

"Close" ¹öÆ°¿¡ À̺¥Æ® ÇÔ¼ö ¿¬°áÇϱâ À§Çؼ­ "Signal/Slot" qtopia¾ÆÀÌÄÜÀ» ¼±ÅÃÇÏ°í "Close" ¹öÆ°À» ¼±ÅÃÇÑ »óÅ¿¡¼­ µå·¡±× ÇÏ¿© "TMainForm" À§¿¡¼­ ¸¶¿ì½º ¹öÆ°À» ReleaseÇÕ´Ï´Ù. ±×·Á¸é À§¿¡¼­ ÀÛ¼ºÇÑ "Slot" ¸®½ºÆ® µéÀÌ ¾Æ·¡¿Í °°ÀÌ ³ªÅ¸ ³³´Ï´Ù.

qtopia

"btnClose" ¹öÆ°°ú "btnCalc" ¹öÆ°¿¡ ÀûÀýÇÑ "Slot" ÇÔ¼ö¸¦ ¼±ÅÃÇؼ­ ¿¬°á ÇÕ´Ï´Ù.

(4) À̺¥Æ® ÇÔ¼ö ±¸Çö

¿©±â±îÁö ÀÎÅÍÆäÀ̽º µðÀÚÀÎÀÌ ¿Ï·áµÇ¾úÀ¸¸é ÀÌÁ¦ ¼Ò½ºÄڵ带 ÀÛ¼ºÇØ º¸µµ·Ï ÇÕ´Ï´Ù.
main_form.h, main_form.cpp, main.cpp 3°³ÀÇ ÆÄÀÏÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.
°£´ÜÇÏ°Ô vi ¿¡µðÅ͸¦ ÀÌ¿ëÇؼ­ main.cpp ¸¦ ¼öÁ¤ÇØ º¸µµ·Ï ÇÕ´Ï´Ù.

# vi main.cpp

vi ¿¡µðÅÍ¿¡¼­ ´ÙÀ½ÀÇ ³»¿ëÀ» ÀÔ·Â ÇÕ´Ï´Ù.

#include "main_form.h"
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("mycalc",TMainForm)
QTOPIA_MAIN


main.cpp ´Â ´Ü¼øÈñ 4ÁÙÀÇ ¸ÅÅ©·Î È®Àå ÄÚµå·Î ÀÌ·ç¾îÁø °£´ÜÇÑ main ÇÔ¼ö ÀÔ´Ï´Ù. TMainForm ´Â main window object ·Î QApplication::exec () ¸¦ ½ÇÇà ½ÃÅ°°í main event loop ·Î ÁøÀÔ ÇÕ´Ï´Ù. main_form.h ÆÄÀÏÀº ¾øÀ¸¹Ç·Î »õ·Î »ý¼º ÇØ¾ß ÇÕ´Ï´Ù.

main.cpp¿Í ¸¶Âù°¡Áö·Î vi ¿¡µðÅ͸¦ ÀÌ¿ëÇؼ­ »ý¼º ÇÕ´Ï´Ù.

# vi main_form.h

#if !defined (__MAIN_FORM_H__)
#define __MAIN_FORM_H__
#include "main_form_base.h"
#include <qsocketnotifier.h>

class TMainForm: public TMainFormBase {
Q_OBJECT public: TMainForm(QWidget * parent = 0, const char * name = 0, WFlags f = WType_TopLevel) : TMainFormBase(parent,name,f) {}
virtual ~TMainForm() {}

public slots:
void calcButtonClicked();
void closeButtonClicked();

};

#endif


Ãß°¡·Î main_form.hÀ» Æ÷ÇÔÇÏ´Â main_form_base.h ÆÄÀÏÀÌ Àִµ¥ ÀÌ ÆÄÀÏÀº °³¹ßÀÚ°¡ »ý¼ºÇÏ´Â ÆÄÀÏÀÌ ¾Æ´Ï°í UI µðÀÚÀÌ³Ê Åø¿¡¼­ ÀÚµ¿À¸·Î »ý¼º ½ÃÅ°´Â ÆÄÀÏ ÀÔ´Ï´Ù. ÀÌÁ¦ ½ÇÁ¦·Î À̺¥Æ®°¡ ¹ß»ý ÇßÀ» °æ¿ì ó¸®ÇÏ´Â À̺¥Æ® Çڵ鷯 ÇÔ¼ö¸¦ ÀÛ¼º ÇÕ´Ï´Ù.

# vi main_form.cpp

#include "main_form.h"
#include <qlineedit.h>

void TMainForm::calcButtonClicked() {
m_result->setText( "" );
if (m_x->text().isEmpty() || m_y->text().isEmpty())
{
return;
}

bool ok = false;
int x = m_x->text().toInt(&ok);

if (!ok)
{
m_x->setText("");
return ;
}

ok = false;
int y = m_y->text().toInt(&ok);

if (!ok)
{
m_y->setText("");
return ;
}

m_result->setText( QString::number( x + y ) );

}

void TMainForm::closeButtonClicked()
{
close();
}


¼Ò½ºÄڵ忡 ´ëÇؼ­ ÀÚ¼¼ÇÑ ¼³¸íÀº ÇÏÁö ¾Ê¾Æµµ ¾î¶² ³»¿ëÀÎÁö ¾Ë ¼ö ÀÖÀ»°Í °°½À´Ï´Ù.

¸ðµç ¼Ò½ºÄÚµåµéÀÇ ¼öÁ¤ÀÌ ¿Ï·á µÇ¾úÀ¸¸é ÄÄÆÄÀÏ ÇϱâÀü¿¡ ¸¶Áö¸·À¸·Î ÇÁ·ÎÁ§Æ® ÆÄÀÏÀ» ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù.

# vi mycalc.pro

CONFIG += qtopiaapp

CONFIG -= buildQuicklaunch
HEADERS = main_form.h
SOURCES = main_form.cpp main.cpp
INTERFACES = main_form_base.ui
TARGET = mycalc



CONFIG+=qtopiaapp : Qtopia ÇÁ·Î±×·¥ÀÇ Á¾·ù ÀÔ´Ï´Ù.
HEADERS and SOURCES : mycalc ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò½ºÄÚµå¿Í Çì´õ ÆÄÀÏÀ» ³ª¿­ ÇÕ´Ï´Ù.
TARGET : ÄÄÆÄÀÏ ÈÄ »ý¼ºµÇ´Â ÃÖÁ¾ ½ÇÇà ÆÄÀÏÀÇ À̸§À» ÀÔ·Â ÇÕ´Ï´Ù.

(5) x86¿ë ÄÄÆÄÀÏ ¹× ½ÇÇà

PC¹öÁ¯ÀÇ ÄÄÆÄÀÏ ½ºÅ©¸³Æ®ÀÎ "buildhost.sh" ¸¦ ½ÇÇà ½Ãŵ´Ï´Ù. Âü°í·Î "buildhost.sh" ÆÄÀÏÀº PC¹öÁ¯ÀÇ qt applicationÀÇ ÄÄÆÄÀÏÀ» ÆíÇÏ°Ô Çϱâ À§Çؼ­ ¹Ì¸® ¸¸µé¾îµÐ ½ºÅ©¸³Æ® ÆÄÀÏ ÀÔ´Ï´Ù. ½ºÅ©¸³Æ®ÀÇ ³»¿ëÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

#!/bin/sh

source /opt/qtopia-free-2.2.0/setQpeEnv
qmake -o Makefile.host -spec qws/linux-generic-g++ *.pro
make -f Makefile.host clean
make -f Makefile.host



½ºÅ©¸³Æ® ÆÄÀÏ¿¡ ½ÇÇà ±ÇÇÑÀ» ºÎ¿© ÇÕ´Ï´Ù.

# chmod +x buildhost.sh

ºôµå ½ºÅ©¸³Æ®¸¦ ½ÇÇà ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®°¡ ¼º°øÀûÀ¸·Î ½ÇÇàµÇ±â À§Çؼ­´Â "/opt/ qtopia-free-2.2.0/" ¿¡ qtopia 2.2.0 ÀÌ ¼³Ä¡ µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à qtopia°¡ ´Ù¸¥ °æ·Î¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À§ÀÇ ½ºÅ©¸³Æ® ÆÄÀÏ ³»¿ëÁß¿¡¼­ "source /opt/qtopia-free-2.2.0/setQpeEnv" ºÎºÐÀ» ÀûÀýÇÏ°Ô ¼öÁ¤ÇØ ÁÖ¸é µË´Ï´Ù.

# ./buildhost.sh

ÄÄÆÄÀÏÀÌ ¼º°øÀûÀ¸·Î ¿Ï·áµÇ¸é mycalc µð·ºÅ丮¿¡ mycalc ½ÇÇà ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù. »ý¼ºµÈ ½ÇÇàÆÄÀÏÀ» PC¿¡¼­ ½ÇÇà½ÃÄÑ º¾´Ï´Ù. ¾Æ·¡ ¸í·ÉÀº mycalc¸¦ ½ÇÇà ½ÃÅ°±â Àü¿¡ ¸ÕÀú qtopia¸¦ ½ÇÇà½ÃÅ°´Â ¸í·É ÀÔ´Ï´Ù.

# cd /opt/qtopia-free-2.2.0/
# ./run&

qtopia¸¦ ½ÇÇà½ÃÅ°°í ³­ÈÄ¿¡ ¸î°¡Áö ȯ°æ º¯¼ö¸¦ µî·ÏÇÏ°í mycalc ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇà ÇÕ´Ï´Ù. ȯ°æ º¯¼öµéÀº ¸®´ª½º »ç¿ëÀÚ ÇÁ·ÎÆÄÀÏ¿¡ µî·Ï ½ÃÄѳõÀ¸¸é Æí¸® ÇÕ´Ï´Ù.

# cd /opt/mini6410/qtopia2_apps/mycalc
# export QTDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
# export QPEDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
# export HOME=$QPEDIR/root/
# export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBARAY_PATH
# ./mycalc

qtopia

(6) ARM¿ë ÄÄÆÄÀÏ ¹× ½ÇÇà
x86¿ë ÄÄÆÄÀÏÇÒ¶§¿Í ¸¶Âù°¡Áö·Î ÄÄÆÄÀÏÀ» Æí¸®ÇÏ°Ô Çϱâ À§Çؼ­ ¿ì¸®´Â "buildarm.sh" ½ºÅ©¸³Æ®¸¦ ¹Ì¸® ¸¸µé¾î µÎ¾ú½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© ARM¹öÁ¯À¸·Î ¾îÇø®ÄÉÀ̼ÇÀ» ÄÄÆÄÀÏ ÇÕ´Ï´Ù. ½ºÅ©¸³Æ® ÆÄÀÏÀÇ ³»¿ëÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

# vi buildarm.sh

#!/bin/sh source

/opt/mini6410/qtopia-free-2.2.0/setQpeEnv
qmake -spec qws/linux-arm-g++ -o Makefile.target *.pro
make -f Makefile.target clean
make -f Makefile.target



½ºÅ©¸³Æ® ÆÄÀÏ¿¡ ½ÇÇà±ÇÇÑÀ» ºÎ¿©ÇÏ°í ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.

# chmod +x buildarm.sh

ºôµå ½ºÅ©¸³Æ®¸¦ ½ÇÇà ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®°¡ ¼º°øÀûÀ¸·Î ½ÇÇàµÇ±â À§Çؼ­´Â "/opt/ qtopia-free-2.2.0/" ¿¡ qtopia 2.2.0 ÀÌ ¼³Ä¡ µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à qtopia°¡ ´Ù¸¥ °æ·Î¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À§ÀÇ ½ºÅ©¸³Æ® ÆÄÀÏ ³»¿ëÁß¿¡¼­ "source /opt/qtopia-free-2.2.0/setQpeEnv" ºÎºÐÀ» ÀûÀýÇÏ°Ô ¼öÁ¤ÇØ ÁÖ¸é µË´Ï´Ù.

# ./buildarm.sh

°³¹ß¿ë PC¿¡¼­ ÄÄÆÄÀÏÇÑ °á°ú¹°À» SD¸Þ¸ð¸®¿¡ º¹»çÇÑ´ÙÀ½ °³¹ßº¸µå¿¡ SD¸Þ¸ð¸®¸¦ »ðÀÔÇÏ°í ½ÇÇàÆÄÀÏÀ» Qtopia/bin µð·ºÅ丮¿¡ º¹»çÇÑ´ÙÀ½ ½ÇÇà ±ÇÇÑÀ» ºÎ¿© ÇÕ´Ï´Ù.

# cp /sdcard/mycalc /opt/Qtopia/bin/
# chmod +x /opt/Qtopia/bin/mycalc

¾ÆÁ÷Àº Qtopiaȯ°æ¿¡ ½ÇÇà ¾ÆÀÌÄÜÀÌ µî·ÏµÇÁö ¾Ê´Â »óÅÂÀ̹ǷΠ¸í·ÉÇà¿¡¼­ ½ÇÇàÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

# cp /bin/run_my_qtopia /bin/run_mycalc
# vi /bin/run_mycalc

run_mycalc ÆÄÀÏÀÇ ¸¶Áö¸· ÁÙÀÇ
exec $QPEDIR/bin/qpe ¸¦ exec $QPEDIR/bin/mycalc ·Î ¼öÁ¤ÇÏ°í ¾Æ·¡ ¸í·ÉÀ» ¼öÇà ÇÕ´Ï´Ù.

# chmod +x /bin/run_mycalc
# run_mycalc&

(7) mycalc ÇÁ·Î±×·¥À» Qtopia ȯ°æ¿¡ ¾ÆÀÌÄÜÀ¸·Î µî·ÏÇؼ­ ½ÇÇà
¾ÕÀý¿¡¼­´Â ¸í·ÉÇà¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æ º¸¾Ò°í À̹ø¿¡´Â Qtopia½ÇÇà ȯ°æ¿¡¼­ ¾ÆÀÌÄÜÀ¸·Î µî·ÏÇؼ­ ½ÇÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÕ´Ï´Ù. Fedora9ÀÇ "/usr/share/icons/hicolor/48x48/apps" µð·ºÅ丮¿¡ ¸î°¡Áö Àç¹ÌÀÖ´Â ¾ÆÀÌÄܵéÀÌ ÀÖ½À´Ï´Ù. ±× Áß¿¡¼­ ¿ì¸®´Â "gnome-sudoku.png" ÆÄÀÏÀ» mycalc ÇÁ·Î±×·¥ÀÇ ½ÇÇà ¾ÆÀÌÄÜÀ¸·Î »ç¿ëÇØ º¸µµ·Ï ÇսôÙ. °³¹ß¿ë PC¿¡¼­ ¾Æ·¡ ¸í·ÉÀ» ÀÔ·Â ÇÕ´Ï´Ù.

# cd /usr/share/icons/hicolor/48x48/apps/
# cp gnome-sudoku.png /opt/mini6410/qtopia2_apps/mycalc/mycalc.png

¸ÕÀú mycalc¿¡ ´ëÇÑ desktop ÆÄÀÏÀ» ÀÛ¼º ÇÕ´Ï´Ù.

# cd /opt/mini6410/qtopia2_apps/mycalc/
# vi mycalc.desktop

[Translation]
File=QtopiaSettings
Context=mycalc
Comment[Desktop Entry/Name]=Use soft hyphen (char U00AD) to indicate hyphenation

[Desktop Entry]
Exec=mycalc
Icon=mycalc
Type=Application
Name[]=My Calculator
CanFastload=0



°³¹ß¿ë PC¿¡¼­ ÀÛ¼ºµÈ mycalc.png, mycalc.desktop ÆÄÀÏÀ» SD¸Þ¸ð¸®¿¡ º¹»çÇÑÈÄ SD¸Þ¸ð¸®¸¦ °³¹ßº¸µå¿¡ »ðÀÔÇÑÈÄ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà ÇÕ´Ï´Ù.

# cp /sdcard/mycalc.desktop /opt/Qtopia/apps/Applications/
# cp /sdcard/mycalc.png /opt/Qtopia/pics/

ÆÄÀÏ º¹»ç°¡ ¿Ï·áµÇ¸é °³¹ßº¸µå¸¦ ÀçºÎÆà ÇÕ´Ï´Ù.

qtopia

2. Qtopia2.2.0 ¿¡¼­ ÇÁ·Î±×·¥ ±×·ì µî·Ï ¹æ¹ý

À̹ø Àý¿¡¼­´Â Qtopia 2.2.0¿¡ "MyApps" ¶ó´Â ÇÁ·Î±×·¥ ±×·ìÀ» »ý¼º½ÃÅ°°í ¿ì¸®°¡ ÀÛ¼ºÇÑ ¾îÇø®ÄÉÀ̼ǵéÀ» »õ·Î »ý¼ºÇÑ ±×·ì¿¡ Æ÷ÇÔ½ÃÅ°µµ·Ï ÇØ º¾½Ã´Ù.
¸ÕÀú "/opt/mini6410/qtopia2_apps/" µð·ºÅ丮¸¦ »ý¼ºÇÏ°í »ý¼ºµÈ µð·ºÅ丮¾È¿¡ ".directory" ÆÄÀÏÀ» ÀÛ¼º ÇÕ´Ï´Ù.

# mkdir -p /opt/mini6410/qtopia2_apps/MyApps/

# cd /opt/mini6410/qtopia2_apps/MyApps/
# vi .directory


[Translation]
File=QtopiaApps
Context=MyApps

[Desktop Entry]
Name[]=MyApps
Icon=MyApps