Creating Hello World Application for Tizen: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Add to Tizen)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Developing Qt::Ports::Tizen]]
{{LangSwitch}}
This article describes how to make a ''Qt Hello World'' application for Tizen emulator. For actual Tizen device the steps are the same.
This article describes how to make a ''Qt Hello World'' application for Tizen emulator. For actual Tizen device the steps are the same.


==Assumptions==
== Assumptions ==


* prepared development environment according to [[Build-Qt-for-Tizen|build howto]] ''[qt.io]''
* prepared development environment according to [http://wiki.qt.io/Build-Qt-for-Tizen build howto]  
* basic knowledge about [https://developer.tizen.org/help/index.jsp?topic=/org.tizen.native.appprogramming/html/app_dev_process/packaging_app.htm Tizen tpk structure] ''[developer.tizen.org]''
* basic knowledge about [https://developer.tizen.org/help/index.jsp?topic=/org.tizen.native.appprogramming/html/app_dev_process/packaging_app.htm Tizen tpk structure]  


==Steps==
== Steps ==


# See hello world example from [https://qt.gitorious.org/qt/qtquickcontrols-tizen qtquickcontrols-tizen] ''[qt.gitorious.org]'' wip/tizen branch<br />
# See hello world example from [https://qt.gitorious.org/qt/qtquickcontrols-tizen qtquickcontrols-tizen] wip/tizen branch
<code>git clone -b wip/tizen https://git.gitorious.org/qt/qtquickcontrols-tizen.git<code>
# Create your own application as you would develop for desktop
# Create your own application as you would develop for desktop
# Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.
# Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.
# Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.
# Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.
# Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).
# Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).
# adapt application’s project pro file for tizen with tizen scope:<br />
# adapt application's project pro file for tizen with tizen scope:
# adapt application’s main.cpp file by adding OspMain function:<br />
</code>tizen {
tizen_shared.files = shared/res
CONFIG ''= TIZEN_STANDALONE_PACKAGE
TIZEN_BUNDLED_QT_LIBS=Qt5Core Qt5DBus Qt5Qml Qt5Quick Qt5Widgets Qt5Gui Qt5Network
load(tizen_app)
}
<code>
# adapt application's main.cpp file by adding OspMain function:
</code>extern "C" int OspMain(int argc, char '''argv[])
{
return main(argc, argv);
}
<code>
# Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)
# Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)


==Additional explanation==
== Additional explanation ==
 
Qmake Variables
Qmake Variables
''' CONFIG''= TIZEN_STANDALONE_PACKAGE- Qt libraries listed in TIZEN_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.


* <span class="caps">CONFIG</span> += <span class="caps">TIZEN</span>_STANDALONE_PACKAGE – Qt libraries listed in <span class="caps">TIZEN</span>_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.
* tizen_shared.files - flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:
 
* tizen_shared.files flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:
** tizen_bin
** tizen_bin
** tizen_data
** tizen_data
Line 30: Line 43:
** tizen_res
** tizen_res
** tizen_setting
** tizen_setting
===Categories:===
* [[:Category:Developing Qt|Developing_Qt]]
** [[:Category:Developing Qt::Ports|Ports]]
* [[:Category:Developing Qt::Ports::Tizen|Tizen]]

Latest revision as of 16:16, 25 November 2016

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

This article describes how to make a Qt Hello World application for Tizen emulator. For actual Tizen device the steps are the same.

Assumptions

Steps

  1. See hello world example from qtquickcontrols-tizen wip/tizen branch
git clone -b wip/tizen https://git.gitorious.org/qt/qtquickcontrols-tizen.git<code>
# Create your own application as you would develop for desktop
# Create tizen subdirectory and copy there manifest.xml file from helloworld example in qtquickcontrols-tizen repository.
# Also copy ''shared'' folder from helloworld example in qtquickcontrols-tizen repository. It contains default application icon. Path to this icon is already set in manifest.xml.
# Choose application name and new Application ID from manifest editor in QtCreator(double click on manifest file in project explorer).
# adapt application's project pro file for tizen with tizen scope:

tizen {

tizen_shared.files = shared/res
CONFIG = TIZEN_STANDALONE_PACKAGE
TIZEN_BUNDLED_QT_LIBS=Qt5Core Qt5DBus Qt5Qml Qt5Quick Qt5Widgets Qt5Gui Qt5Network
load(tizen_app)

}

# adapt application's main.cpp file by adding OspMain function:

extern "C" int OspMain(int argc, char argv[])

{

return main(argc, argv);

}

  1. Now compile and deploy from QtCreator. You application should appear in homescreen on emulator or device (depending on Kit, you chose)

Additional explanation

Qmake Variables ' CONFIG= TIZEN_STANDALONE_PACKAGE- Qt libraries listed in TIZEN_BUNDLED_QT_LIBS will be copied to package lib subdirectory. Additionally Qt plugins will be copied from $$[QT_INSTALL_PLUGINS] to data/plugins package subdirectory and qml plugins from $$[QT_INSTALL_QML] to data/qml package subdirectory.

  • tizen_shared.files - flies which will be copied to application package shared subdirectory. There are also qmake variables for other directories:
    • tizen_bin
    • tizen_data
    • tizen_info
    • tizen_lib
    • tizen_res
    • tizen_setting