
Symbiançšã®Futoubraã¯ã©ã€ã¢ã³ãã®å®è£
ãéå§ããŠãã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãå®è£
ããããã®ãã¬ãŒã ã¯ãŒã¯ãšããŠQt Quickãéžæããããšã«çãã®äœå°ã¯ãããŸããã§ããã ãªã¢ã¯ãã£ãããŒã¿ãã€ã³ãã£ã³ã°ã®ãããã§ãé«åºŠãªã¢ãŒããã¯ãã£èšèšãã¿ãŒã³ãç¹ã«Model-View-ViewModelã䜿çšããŠãã¬ãŒã³ããŒã·ã§ã³ã¬ã€ã€ãŒãå®è£
ããããšãå¯èœã«ãªããŸãã ãã ããQt Quickã®ã裞ã®ã圢åŒã«ã¯åºæ¬çãªèŠçŽ ãéåžžã«å°ãªãããããã¿ã³ãå
¥åãã£ãŒã«ããªã©ãããè€éãªèŠçŽ ãçµã¿ç«ãŠãããšãææ¡ãããŠããŸãã 以åã®ãããžã§ã¯ãã§ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãäœæãããšãã«ããããå®è£
ããã®ã«ã©ãã ãæéãããã£ããã念é ã«çœ®ããŠãç§ã¯ããã«èªåã§è¡ããšããèããæšãŠãQt Quick Componentsã©ã€ãã©ãªãŒã«æ³šæãåããŸããã ã«ãã¿ãŒã®äžã«ã¯ãS60 5thãšãã£ã·ã§ã³ãã©ãããã©ãŒã ã§ã®é©çšç¯å²ãåºããŠãååŸãããæ¹æ³ã説æããŠããŸãã
Qt Quick Componentsã©ã€ãã©ãªã¯ãQMLã®äžã«å¹
åºããŠã£ãžã§ãããå®è£
ããQt Quickãã©ã°ã€ã³ã®ã³ã¬ã¯ã·ã§ã³ã§ãã ã©ã€ãã©ãªã®äž»ãªæ©èœã®1ã€ã¯ãã¯ãã¹ãã©ãããã©ãŒã ã§ãã WindowsãMac OSãKDEãGNOMEçšã®
ãã¹ã¯ãããããŒãžã§ã³ãšãSymbianãMaemoãMeeGoã«ä»£è¡šãããå°ããªå
åŒåãã®ããªãšãŒã·ã§ã³ããããŸãã ãã¡ããããã©ãããã©ãŒã ã®æ©èœãç»é¢è§£å床ãããã³ãã¶ã€ã³ã¬ã€ãã©ã€ã³ã«ãããããŒãžã§ã³ã«ã¯å€å°ã®éãããããŸãããWindowsãSymbianãªã©ã®QMLã³ãŒãã®çŽ80ïŒ
ãååŸããããšã¯å¯èœã§ãã ã©ã€ãã©ãªã®åæ§ã«éèŠãªæ©èœã¯ãåãã©ãããã©ãŒã ã®ãŠã£ãžã§ããã®ãã€ãã£ããªå€èгã§ãã
Symbiançšã©ã€ãã©ãªã®ããŒãžã§ã³ã®ããã¥ã¡ã³ãã調ã¹å§ãããšãããããã«äžå¿«ãªãã¥ãŒã¹ã«åºäŒããŸããã
ããã¥ã¡ã³ãã«ãããš
ã Qt Quick Componentsã¯ææ°ã®Symbian ^ 3ãSymbian Annaããã³Nokia Belleã§ã®ã¿ãµããŒããããŠããŸãã ç§ã«ãšã£ãŠã5800 XpressMusicã5228ãªã©ãæãåœã§ã®ç¬¬äžäžä»£ã®Nokiaã¿ããã¹ããŒããã©ã³ã®äººæ°ãèãããšãS60 5thãšãã£ã·ã§ã³ãã©ãããã©ãŒã ããµããŒãããããšãå¿
èŠã§ããã ããš1ã€ãããããŸããã§ãã-ããªãèªèº«ã®ãªã¹ã¯ãšããã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ã©ã€ãã©ãªãç§»æ€ãããªã¹ã¯ããããŸãã ãã®äœéšã¯æåããããšã倿ãã
ããã§ç¬èªã®ããŒãžã§ã³ã®Qt Quick Componentsã䜿çšããŠãã¢ã¢ããªã±ãŒã·ã§ã³ã®å®å
šãªãœãŒã¹ã³ãŒããå
¬éããŸããã 以äžã¯ãäž»ã«qmakeããã°ã©ãã³ã°ã«é¢é£ããæãè€éãªç§»æ€ã®åé¡ã®ã¿ã瀺ããŠããŸãã
ã¢ã³ããŒã
ããã§éèŠãªã®ã¯ã1.0ãã©ã³ãã§ããå¿
èŠãããããšã§ã-ããã«äœ¿çšã§ããŸãã 1.1.xã©ã€ãã©ãªã®ä»¥éã®ããŒãžã§ã³ã«ã¯ãS60 5thãšãã£ã·ã§ã³SDKã«ã¯ãªãããããŒãã¡ã€ã«ãšã©ã€ãã©ãªã®åœ¢ã§Symbian SDKã«ãéããäŸåé¢ä¿ããããŸãã
ãªã³ã¯ã䜿çšããŠããŸãã¯å¯Ÿå¿ããGitã³ãã³ãã䜿çšããŠãã¢ãŒã«ã€ãã®åœ¢åŒã§ãœãŒã¹ãååŸã§ããŸãã
git clone git://gitorious.org/qt-components/qt-components.git -b 1.0-symbian
ã·ã£ãŒããã
Qtã®ããã¥ã¡ã³ãã«ã¯ãã©ã°ã€ã³äœæã®è©³çްãªäŸãèšèŒãããŠããŸãããæ¬åŒ§ã®åŸãã«æ®ã£ãŠããéåžžã«é£ããéšåã¯ããããžã§ã¯ãã®* .proããã³* .pri-filesïŒä»¥äžãåã«ã¹ã¯ãªããïŒã®æ§æã§ãã ãã®ãããQt Creatorç°å¢ã«ãã£ãŠããã©ã«ãã§äœæãããã¹ã¯ãªããã«ã¯ãQt Quickãã©ã°ã€ã³ãå«ãã€ã³ã¹ããŒã©ãŒãäœæããã¡ã«ããºã ãå«ãŸããŠããŸããã Symbianã«ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããæ©èœã®1ã€ã¯ããã¹ãŠã®å®è¡å¯èœãã¡ã€ã«ãšåçã©ã€ãã©ãªãCïŒ\ sys \ binãã£ã¬ã¯ããªã«é
眮ããå¿
èŠããããŸãããWindowsã¯ãããã®å ŽæãèŠå¶ããªãããšã§ãã ãã®çµæããšãã¥ã¬ãŒã¿ãŒãšããã€ã¹ã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ã«èµ·å ãããã¡ã€ã«æ§é ã倧å¹
ã«ç°ãªãç¶æ³ã«ãªãããããåãã©ãããã©ãŒã ã«åºæã®ã€ã³ã¹ããŒã©ãŒã®ãã°ãæ€çŽ¢ããããšã«ãªããŸãã ã¹ã¯ãªãããéçºãããšãã®ç§ã®äž»ãªã¢ã€ãã¢ã¯ãWindowsãšSymbianã®äž¡æ¹ã«ã¢ããªã±ãŒã·ã§ã³ãçããã€ã³ã¹ããŒã«ããããšã§ããã ããããæ€èšããŸãã
/config.pri isEmpty(APP_SOURCE_TREE): APP_SOURCE_TREE = $$PWD isEmpty(APP_INSTALL_LIBS): APP_INSTALL_LIBS = $$APP_SOURCE_TREE/lib isEmpty(APP_INSTALL_ROOT): APP_INSTALL_ROOT = $$APP_SOURCE_TREE/install isEmpty(APP_INSTALL_BINS): APP_INSTALL_BINS = $$APP_INSTALL_ROOT/sys/bin isEmpty(APP_INSTALL_IMPORTS): APP_INSTALL_IMPORTS = $$APP_INSTALL_ROOT/resource/demo/imports isEmpty(APP_INSTALL_RESOURCES): APP_INSTALL_RESOURCES = $$APP_INSTALL_ROOT/resource/apps/demo symbian {
config.priãã¡ã€ã«ã¯ãä»ã®ã¹ã¯ãªããã§äœ¿çšããããã¹ãŠã®ç°å¢å€æ°ãå®çŸ©ããŸãã $$ PWDã䜿çšããŠããããžã§ã¯ãã«ãŒããžã®ãã¹ã決å®ãããæ®ãã®ãã¹ã¯ããã«é¢é£ããŠå®çŸ©ãããŸãã ãããžã§ã¯ãããã«ããããšãã€ã³ã¹ããŒã«ãã©ã«ããŒããã®ã«ãŒãã«äœæãããŸããããã¯ãããã€ã¹ã®CïŒã·ã¹ãã ãã©ã€ãã®ãããã¿ã€ãã§ãã ãããšåãããã«ããããžã§ã¯ãã¯ããã€ã¹äžã«ã¬ã€ã¢ãŠããããŸãã
ç°¡æœã«ããããã«ãæãåçŽãªã³ã³ããŒãã³ãã§ãããã©ã°ã€ã³ã¹ã¯ãªãããæ€èšããŸãã åãã©ã°ã€ã³ã«ã¯ãåãååã®priãã¡ã€ã«ãšproãã¡ã€ã«ããããŸãã æåã¯ã€ã³ã¹ããŒã©ãŒã®äœæã«äœ¿çšããããã©ã°ã€ã³ã®ããããã£ã説æãã2çªç®ã¯ã©ã€ãã©ãªèªäœã®ãã«ãã«äœ¿çšãããããããã£ã説æããŸãã
/src/3rdparty/qt-components/components/components.pri QT_COMPONENTS_PLUGIN.source_path = \ src/3rdparty/qt-components/components QT_COMPONENTS_PLUGIN.imports_path = \ Qt/labs/components QT_COMPONENTS_PLUGIN.target = \ $$qtLibraryTarget(embedded_qt_components_plugin) QT_COMPONENTS_PLUGIN.qml_files += \ qmldir \ Checkable.qml \ CheckableGroup.qml \ CheckableGroup.js APP_PLUGINS += QT_COMPONENTS_PLUGIN
ãã©ã°ã€ã³ãèšè¿°ããæ§é å
ã®ãã£ãŒã«ãã®ããããã£ã«ã¯ãæ¬¡ã®æå³ããããŸãã
çµã¿èŸŒã¿ã®Qt Quick Componentsã®1察1ã®çžå¯Ÿã€ã³ããŒããã¹ã¯ãããã€ã¹ã§å©çšå¯èœãªå
ã®ãã©ã°ã€ã³ã®ã€ã³ããŒããã¹ãšäžèŽããŸãã 䜿çšãããã©ã°ã€ã³ã®æ§è³ªãç¥ãããšããqmlãã¡ã€ã«ãæœè±¡åããããšã§ãS60 5thãšãã£ã·ã§ã³ãšææ°ã®Symbianã®ã¢ã»ã³ããªã§ããããã·ãŒã ã¬ã¹ã«åãæ¿ããããšãã§ããŸãã priãã¡ã€ã«ã®æåŸã®è¡ã§ãã³ã³ããŒãã³ããã©ã°ã€ã³ãAPP_PLUGINSã«è¿œå ããŸããããã¯ãããã€ã¹ã«ã€ã³ã¹ããŒã«ããããã©ã°ã€ã³ã®é
åã§ãã
/src/3rdparty/qt-components/components/components.pro include(../../../../config.pri) include(components.pri) TARGETPATH = $$QT_COMPONENTS_PLUGIN.imports_path TEMPLATE = lib TARGET = $$QT_COMPONENTS_PLUGIN.target INCLUDEPATH += $$PWD $$PWD/models CONFIG += qt plugin QT += declarative network script DEFINES += QT_BUILD_COMPONENTS_LIB QML_FILES += $$QT_COMPONENTS_PLUGIN.qml_files symbian { TARGET.EPOCALLOWDLLDATA = 1 TARGET.CAPABILITY += $$APP_CAPABILITY TARGET.UID3 = 0xE1E604E2 } HEADERS += qglobalenums.h SOURCES += plugin.cpp include(kernel/kernel.pri) include(models/models.pri) include(../../../../install.pri)
åé ã®ãã¢ã®ãããã¡ã€ã«ã«ã¯config.priãå«ãŸããŠãããAPP_CAPABILITYãªã©ã®ãã¹ãŠã®ç°å¢å€æ°ãå©çšã§ããŸãã åŸè
ã®äœ¿çšã¯ãå®è¡å¯èœãã¡ã€ã«ã§äœ¿çšãããåçã©ã€ãã©ãªã®ã¢ã¯ã»ã¹ã¬ãã«ããã¡ã€ã«èªäœã®ã¢ã¯ã»ã¹ã¬ãã«ãããäœããªããšäž»åŒµããSymbianã»ãã¥ãªãã£ã·ã¹ãã ã«ãããã®ã§ãã ããã«æ©ãŸãããªãããã«ãæãç°¡åãªæ¹æ³ã¯ããã¹ãŠã®ãã©ã°ã€ã³ãšexe-shnikã«åãæ©èœãæãããããšã§ãã
å§ãã
以äžã¯ããã¹ãŠã®ãã©ã°ã€ã³ããŸãšããŠåéããæ§æãã¡ã€ã«ã§ãã ãã¹ãŠã®Qt Quick Componentsãã©ã°ã€ã³ã®pri-filesãå«ããSymbianã®ã€ã³ã¹ããŒã©ãŒãäœæããããã®æç€ºãå«ããã¡ã€ã«ãçæããããã®ãã£ã¬ã¯ãã£ãã圢æããŸãã
src / app / gui / gui.pro include(../../../config.pri) include(../../3rdparty/qt-components/components/components.pri) include(../../3rdparty/qt-components/symbian/symbian.pri) include(../../3rdparty/qt-components/symbian/extras/extras.pri) CONFIG += qt mobility QT += core declarative network TARGET = EmbeddedComponents DESTDIR = $$APP_INSTALL_BINS
æåŸã«ãã¢ããªã±ãŒã·ã§ã³èªäœã§ã€ã³ããŒããã©ã®ããã«æ¥ç¶ãããŠãããã
src / app / gui / application.cpp QDeclarativeView *Application::buildRootView() { QScopedPointer<QDeclarativeView> view(new QDeclarativeView()); QObject::connect(view->engine(), SIGNAL(quit()), view.data(), SLOT(close())); view->setResizeMode(QDeclarativeView::SizeRootObjectToView); view->engine()->addImportPath(QLatin1String("../../resource/demo/imports")); view->setSource(QUrl("qrc:/layout/main.qml")); return view.take(); }
å®çŸ©ããç°å¢å€æ°ã«åŸã£ãŠãã¢ããªã±ãŒã·ã§ã³èªäœã¯/ sys / binã«ã€ã³ã¹ããŒã«ããããã©ã°ã€ã³ã¯åããã©ã€ãã®/ resource / demo / importsã«ã€ã³ã¹ããŒã«ãããŸããã ãããããQDeclarativeEngineã®addImportPath颿°ã§æå®ããå¿
èŠããããã¹ãååŸããŸãã
çµè«ã®ä»£ããã«
æäœæ¥ã§çµã¿ç«ãŠãããQt Quick Componentsã䜿çšããŠäœæãããã¢ããªã±ãŒã·ã§ã³ã¯ãå
ã®ããŒãžã§ã³ã§äœæãããåæ§ã®ã¢ããªã±ãŒã·ã§ã³ãšã»ãšãã©åºå¥ã§ããŸããã ããã«ãããNokia Storeã®QAããŒã ã®åŽã§é¢çœã誀解ãçãŸããŸããã 圌ãã¯é·ãéã¢ããªã±ãŒã·ã§ã³ãå
¬éããããªãã£ãã®ã§ãæ¬åœã®Qt Quickã³ã³ããŒãã³ãã䜿çšããŠãããšéé£ãããŸããããäœããã®çç±ã§ã€ã³ã¹ããŒã©ãŒã§ããããžã®äŸåã宣èšããŸããã§ããã ã³ã¡ã³ãã¯æ¬¡ã®ãšããã§ãã
JerryïŒVC-SigningïŒïŒThuã03 May 2012 18:41:30 +0000ïŒ
ãããªãã·ã£ãŒæ§ã
ããªãã®ã¢ããªã¯Qt Quick Components for Symbianã䜿çšããŠããŸãããã¢ããªããã±ãŒãžã«ã¯å¯Ÿå¿ããã³ã³ããŒãã³ãäŸåé¢ä¿å®£èšããããŸããã äŸåé¢ä¿ã远å ããŠãã¢ããªãåæ§ç¯ããŠãã ããã
ãªãªãžãã«ã®ãã©ã°ã€ã³ã䜿çšããŠææ°ã®Symbiançšã®ã¢ããªã±ãŒã·ã§ã³ãã¢ã»ã³ãã«ããããšã«ãã£ãŠã®ã¿ããã®åé¡ã«å¯ŸåŠããããšãã§ããŸããã S60 5thãšãã£ã·ã§ã³ã§ã¯ç©ççã«åãããšãã§ããªããããNokia Storeã®åŸæ¥å¡ã¯ããã®ãã©ãããã©ãŒã ã®ã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ããŒã©ãŒã§ã®ååšã䞻匵ããŸããã§ããã æåŸã«ãç¬èªã®ããŒãžã§ã³ã®Qt Quick Componentsãåãããã¢ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã
ãã¡ãããå
¥æã§ããããšãå床ãç¥ããã
ãŸã ã
ããã«ã»ãªã·ããã
Symbianã®Futubraå
¬åŒã¯ã©ã€ã¢ã³ãéçºè