Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 1dd17e0d683ef79b4bb6872bbf359d7f > files > 7455

qt4-doc-4.8.7-26.2.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- symbian-introduction.qdoc -->
  <title>Qt 4.8: The Symbian platform - Introduction to Qt</title>
  <link rel="stylesheet" type="text/css" href="style/style.css" />
  <script src="scripts/jquery.js" type="text/javascript"></script>
  <script src="scripts/functions.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/superfish.css" />
  <link rel="stylesheet" type="text/css" href="style/narrow.css" />
  <!--[if IE]>
<meta name="MSSmartTagsPreventParsing" content="true">
<meta http-equiv="imagetoolbar" content="no">
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="style/style_ie8.css">
<![endif]-->

<script src="scripts/superfish.js" type="text/javascript"></script>
<script src="scripts/narrow.js" type="text/javascript"></script>

</head>
<body class="" onload="CheckEmptyAndLoadList();">
 <div class="header" id="qtdocheader">
    <div class="content"> 
    <div id="nav-logo">
      <a href="index.html">Home</a></div>
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
    <div id="narrowsearch"></div>
    <div id="nav-topright">
      <ul>
        <li class="nav-topright-home"><a href="http://qt.digia.com/">Qt HOME</a></li>
        <li class="nav-topright-dev"><a href="http://qt-project.org/">DEV</a></li>
        <li class="nav-topright-doc nav-topright-doc-active"><a href="http://qt-project.org/doc/">
          DOC</a></li>
        <li class="nav-topright-blog"><a href="http://blog.qt.digia.com/">BLOG</a></li>
      </ul>
    </div>
    <div id="shortCut">
      <ul>
        <li class="shortCut-topleft-inactive"><span><a href="index.html">Qt 4.8</a></span></li>
        <li class="shortCut-topleft-active"><a href="http://qt-project.org/doc/">ALL VERSIONS        </a></li>
      </ul>
     </div>
 <ul class="sf-menu" id="narrowmenu"> 
             <li><a href="#">API Lookup</a> 
                 <ul> 
                     <li><a href="classes.html">Class index</a></li> 
           <li><a href="functions.html">Function index</a></li> 
           <li><a href="modules.html">Modules</a></li> 
           <li><a href="namespaces.html">Namespaces</a></li> 
           <li><a href="qtglobal.html">Global Declarations</a></li> 
           <li><a href="qdeclarativeelements.html">QML elements</a></li> 
             </ul> 
             </li> 
             <li><a href="#">Qt Topics</a> 
                 <ul> 
                        <li><a href="qt-basic-concepts.html">Programming with Qt</a></li>  
                        <li><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li>  
                        <li><a href="qt-gui-concepts.html">UI Design with Qt</a></li>  
                        <li><a href="supported-platforms.html">Supported Platforms</a></li>  
                        <li><a href="technology-apis.html">Qt and Key Technologies</a></li>  
                        <li><a href="best-practices.html">How-To's and Best Practices</a></li>  
              </ul> 
                 </li> 
                 <li><a href="#">Examples</a> 
                     <ul> 
                       <li><a href="all-examples.html">Examples</a></li> 
                       <li><a href="tutorials.html">Tutorials</a></li> 
                       <li><a href="demos.html">Demos</a></li> 
                       <li><a href="qdeclarativeexamples.html">QML Examples</a></li> 
                </ul> 
                     </li> 
                 </ul> 
    </div>
  </div>
  <div class="wrapper">
    <div class="hd">
      <span></span>
    </div>
    <div class="bd group">
      <div class="sidebar">
        <div class="searchlabel">
          Search index:</div>
        <div class="search" id="sidebarsearch">
          <form id="qtdocsearch" action="" onsubmit="return false;">
            <fieldset>
              <input type="text" name="searchstring" id="pageType" value="" />
 <div id="resultdialog"> 
 <a href="#" id="resultclose">Close</a> 
 <p id="resultlinks" class="all"><a href="#" id="showallresults">All</a> | <a href="#" id="showapiresults">API</a> | <a href="#" id="showarticleresults">Articles</a> | <a href="#" id="showexampleresults">Examples</a></p> 
 <p id="searchcount" class="all"><span id="resultcount"></span><span id="apicount"></span><span id="articlecount"></span><span id="examplecount"></span>&nbsp;results:</p> 
 <ul id="resultlist" class="all"> 
 </ul> 
 </div> 
            </fieldset>
          </form>
        </div>
        <div class="box first bottombar" id="lookup">
          <h2 title="API Lookup"><span></span>
            API Lookup</h2>
          <div  id="list001" class="list">
          <ul id="ul001" >
              <li class="defaultLink"><a href="classes.html">Class index</a></li>
              <li class="defaultLink"><a href="functions.html">Function index</a></li>
              <li class="defaultLink"><a href="modules.html">Modules</a></li>
              <li class="defaultLink"><a href="namespaces.html">Namespaces</a></li>
              <li class="defaultLink"><a href="qtglobal.html">Global Declarations</a></li>
              <li class="defaultLink"><a href="qdeclarativeelements.html">QML elements</a></li>
            </ul> 
          </div>
        </div>
        <div class="box bottombar" id="topics">
          <h2 title="Qt Topics"><span></span>
            Qt Topics</h2>
          <div id="list002" class="list">
            <ul id="ul002" >
               <li class="defaultLink"><a href="qt-basic-concepts.html">Programming with Qt</a></li> 
               <li class="defaultLink"><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li> 
               <li class="defaultLink"><a href="qt-gui-concepts.html">UI Design with Qt</a></li> 
               <li class="defaultLink"><a href="supported-platforms.html">Supported Platforms</a></li>  
               <li class="defaultLink"><a href="technology-apis.html">Qt and Key Technologies</a></li> 
               <li class="defaultLink"><a href="best-practices.html">How-To's and Best Practices</a></li> 
            </ul>  
          </div>
        </div>
        <div class="box" id="examples">
          <h2 title="Examples"><span></span>
            Examples</h2>
          <div id="list003" class="list">
        <ul id="ul003">
              <li class="defaultLink"><a href="all-examples.html">Examples</a></li>
              <li class="defaultLink"><a href="tutorials.html">Tutorials</a></li>
              <li class="defaultLink"><a href="demos.html">Demos</a></li>
              <li class="defaultLink"><a href="qdeclarativeexamples.html">QML Examples</a></li>
            </ul> 
          </div>
        </div>
      </div>
      <div class="wrap">
        <div class="toolbar">
          <div class="breadcrumb toolblock">
            <ul>
              <li class="first"><a href="index.html">Home</a></li>
              <!--  Breadcrumbs go here -->
<li>The Symbian platform - Introduction to Qt</li>
            </ul>
          </div>
          <div class="toolbuttons toolblock">
            <ul>
              <li id="smallA" class="t_button">A</li>
              <li id="medA" class="t_button active">A</li>
              <li id="bigA" class="t_button">A</li>
              <li id="print" class="t_button"><a href="javascript:this.print();">
                <span>Print</span></a></li>
            </ul>
        </div>
        </div>
        <div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#required-tools">Required Tools</a></li>
<li class="level1"><a href="#installing-qt-and-running-demos">Installing Qt and Running Demos</a></li>
<li class="level1"><a href="#building-your-own-applications">Building Your Own Applications</a></li>
<li class="level2"><a href="#alternative-build-targets">Alternative Build Targets</a></li>
<li class="level1"><a href="#running-applications-from-the-command-line">Running Applications from the Command Line</a></li>
<li class="level1"><a href="#installing-your-own-applications">Installing Your Own Applications</a></li>
<li class="level1"><a href="#deployment-and-the-smart-installer">Deployment and the Smart Installer</a></li>
</ul>
</div>
<h1 class="title">The Symbian platform - Introduction to Qt</h1>
<span class="subtitle"></span>
<!-- $$$symbian-with-qt-introduction.html-description -->
<div class="descr"> <a name="details"></a>
<a name="required-tools"></a>
<h2>Required Tools</h2>
<p>See <a href="requirements-symbian.html">Qt for the Symbian platform Requirements</a> to see what tools are required to use Qt for the Symbian platform.</p>
<a name="installing-qt-and-running-demos"></a>
<h2>Installing Qt and Running Demos</h2>
<p>Follow the instructions found in <a href="install-symbian.html">Installing Qt for the Symbian platform</a> to learn how to install Qt using using source package and how to build and run the Qt demos.</p>
<a name="building-your-own-applications"></a>
<h2>Building Your Own Applications</h2>
<p>If you are new to Qt development, have a look at <a href="how-to-learn-qt.html">How to Learn Qt</a>. In general, the difference between developing a Qt application on the Symbian platform compared to any of the other platforms supported by Qt is not that big.</p>
<p>Once you have created a <tt>.pro</tt> file for your project, generate the Symbian specific <tt>Bld.inf</tt> and <tt>.mmp</tt> files this way:</p>
<pre class="cpp">     qmake</pre>
<p>For more information on how to use qmake have a look at the <a href="qmake-tutorial.html">qmake Tutorial</a>. In particular, see the <a href="qmake-platform-notes.html#symbian-platform">qmake Platform Notes</a> for details of Symbian-specific build settings.</p>
<p>Now you can build the Qt for the Symbian platform application with standard build tools.</p>
<a name="alternative-build-targets"></a>
<h3>Alternative Build Targets</h3>
<p>By default, running <tt>make</tt> will produce binaries for the emulator. However, the Symbian platform comes with several alternative build targets that can be used to create binaries for target hardware and deploy them on devices, as shown in the table below:</p>
<table class="generic">
<tr valign="top" class="odd"><td ><tt>debug-winscw</tt></td><td >Build debug binaries for the emulator (default). It is currently not possible to build release binaries for the emulator.</td></tr>
<tr valign="top" class="even"><td ><tt>debug-gcce</tt></td><td >Build debug binaries for hardware using GCCE.</td></tr>
<tr valign="top" class="odd"><td ><tt>release-gcce</tt></td><td >Build release binaries for hardware using GCCE.</td></tr>
<tr valign="top" class="even"><td ><tt>debug-armv5</tt></td><td >Build debug binaries for hardware using RVCT.</td></tr>
<tr valign="top" class="odd"><td ><tt>release-armv5</tt></td><td >Build release binaries for hardware using RVCT.</td></tr>
<tr valign="top" class="even"><td ><tt>run</tt></td><td >Run the application on the emulator.</td></tr>
<tr valign="top" class="odd"><td ><tt>runonphone</tt></td><td >Run the application on a device.</td></tr>
<tr valign="top" class="even"><td ><tt>deploy</tt></td><td >Deploys the project into a device.</td></tr>
<tr valign="top" class="odd"><td ><tt>sis</tt></td><td >Create signed <tt>.sis</tt> file for project.</td></tr>
<tr valign="top" class="even"><td ><tt>unsigned_sis</tt></td><td >Create unsigned <tt>.sis</tt> file for project.</td></tr>
<tr valign="top" class="odd"><td ><tt>installer_sis</tt></td><td >Create signed <a href="http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian">smart installer</a> <tt>.sis</tt> file for project. Smart installer will attempt to download missing dependencies in addition to just installing the application. Note: The application <tt>.sis</tt> contained in smart installer <tt>.sis</tt> will be recreated and signed with same certificates as smart installer <tt>.sis</tt>.</td></tr>
<tr valign="top" class="even"><td ><tt>ok_installer_sis</tt></td><td >Otherwise similar to <tt>installer_sis</tt> target, except the application sis will not be recreated. This is useful when application <tt>.sis</tt> needs to be separately signed before including it into smart installer <tt>.sis</tt>.</td></tr>
<tr valign="top" class="odd"><td ><tt>unsigned_installer_sis</tt></td><td >Create unsigned <a href="http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian">smart installer</a> <tt>.sis</tt> file for project. Note: The application <tt>.sis</tt> contained in smart installer <tt>.sis</tt> will also be unsigned.</td></tr>
<tr valign="top" class="even"><td ><tt>stub_sis</tt></td><td >Create a stub sis to allow upgradability of projects that are deployed in ROM</td></tr>
</table>
<p>The following lines perform a debug build for the emulator and deploy all the needed files:</p>
<pre class="cpp">     make debug-winscw</pre>
<p>To work on your project in Carbide, simply import the <tt>.pro</tt> file by right clicking on the project explorer and executing &quot;Import..&#x2e;&quot;&#x2e;</p>
<a name="running-applications-from-the-command-line"></a>
<h2>Running Applications from the Command Line</h2>
<p>The application can be launched on the emulator using <tt>make run</tt> command.</p>
<p>The application can be launched on a device using <tt>make runonphone</tt> command. When this command is invoked, a <tt>.sis</tt> file is first created as if <tt>make sis</tt> command was invoked (see above for details). <b>Note:</b> Running the application on a device using this command requires <tt>TRK</tt> application to be running on the device.</p>
<p>Additional environment variables that can be utilized with these commands are:</p>
<table class="generic">
<tr valign="top" class="odd"><td ><tt>QT_RUN_OPTIONS</tt></td><td >Any command line parameters you wish to pass to your application.</td></tr>
<tr valign="top" class="even"><td ><tt>QT_RUN_ON_PHONE_OPTIONS</tt></td><td >Options for runonphone application. Execute <tt>runonphone</tt> from command line for more information about available options. <tt>make runonphone</tt> only.</td></tr>
</table>
<a name="installing-your-own-applications"></a>
<h2>Installing Your Own Applications</h2>
<p>To install your own applications on hardware, you need a signed <tt>.sis</tt> file. (Refer to the <a href="http://www.developer.nokia.com/Community/Wiki/Qt_&_Symbian_Platform_Security">Symbian Platform Security</a> article for more informations about self-signing.) The signed <tt>.sis</tt> file can be created with <tt>make</tt> <tt>sis</tt> target. <tt>sis</tt> target is only supported for executables or projects with <tt>DEPLOYMENT</tt> statements. By default the <tt>sis</tt> target will create signed <tt>.sis</tt> file for last build target. For example, the following sequence will generate the needed makefiles, build the project for <tt>debug-winscw</tt> and <tt>release-armv5</tt>, and create self-signed <tt>.sis</tt> file for <tt>release-armv5</tt> target:</p>
<pre class="cpp">     qmake
     make debug-winscw release-armv5
     make sis</pre>
<p>If you want to use different certificate information or override the default target for <tt>.sis</tt> file creation you can use the environment variables as shown in the table below:</p>
<table class="generic">
<tr valign="top" class="odd"><td ><tt>QT_SIS_OPTIONS</tt></td><td >Options accepted by <tt>.sis</tt> creation. See <a href="#supported-options-for-qt-sis-options">Supported options</a> below. By default no options are given.</td></tr>
<tr valign="top" class="even"><td ><tt>QT_SIS_TARGET</tt></td><td >Target for which <tt>.sis</tt> file is created. Accepted values are build targets listed in previous table. By default last build target.</td></tr>
<tr valign="top" class="odd"><td ><tt>QT_SIS_CERTIFICATE</tt></td><td >The certificate file used for signing. By default self-signed certificate.</td></tr>
<tr valign="top" class="even"><td ><tt>QT_SIS_KEY</tt></td><td >The certificate's private key file. By default key is associated to self-signed certificate.</td></tr>
<tr valign="top" class="odd"><td ><tt>QT_SIS_PASSPHRASE</tt></td><td >The certificate's private key file's passphrase. By default empty.</td></tr>
</table>
<p>The supported options for <tt>QT_SIS_OPTIONS</tt>:</p>
<a name="supported-options-for-qt-sis-options"></a><table class="generic">
<tr valign="top" class="odd"><td >-i</td><td >Install the package right away using PC suite.</td></tr>
<tr valign="top" class="even"><td >-p</td><td >Only preprocess the template <tt>.pkg</tt> file.</td></tr>
<tr valign="top" class="odd"><td >-c &lt;file&gt;</td><td >Read certificate information from a file.</td></tr>
<tr valign="top" class="even"><td >-u</td><td >Preserves unsigned package.</td></tr>
<tr valign="top" class="odd"><td >-o</td><td >Creates only unsigned package.</td></tr>
<tr valign="top" class="even"><td >-s</td><td >Generates stub sis for ROM.</td></tr>
<tr valign="top" class="odd"><td >-n &lt;name&gt;</td><td >Specifies the final sis name.</td></tr>
<tr valign="top" class="even"><td >-g</td><td >Treat gcce platform as armv5.</td></tr>
<tr valign="top" class="odd"><td >-d</td><td >Skip automatic patching of the package when default certificate is used.</td></tr>
</table>
<p>Execute the <tt>createpackage.pl</tt> script without any parameters for detailed information about options. By default no options are given.</p>
<p>For example:</p>
<pre class="cpp">    set QT_SIS_TARGET=debug-armv5
    make sis</pre>
<p>The environment variables for <tt>make</tt> can also be given as parameters:</p>
<pre class="cpp">    make sis QT_SIS_TARGET=debug-armv5</pre>
<p>If you want to install the program immediately after creating <tt>.sis</tt> file, make sure that the device is connected to the computer in &quot;PC Suite&quot; mode, and use <tt>deploy</tt> target instead of <tt>sis</tt> target:</p>
<pre class="cpp">    make deploy</pre>
<a name="deployment-and-the-smart-installer"></a>
<h2>Deployment and the Smart Installer</h2>
<p>Although some Symbian devices may already have a version of Qt installed on them, there needs to be a way to ensure that an appropriate version of Qt is available for your application to use. Rather than deploy the required Qt libraries with your application, the preferred way to package Qt applications for deployment is to download and use the Smart Installer.</p>
<p>The Smart Installer makes sure that deployed applications have all the Qt dependencies they need to run on a device, performing the necessary updates when the user installs the application.</p>
<p>More information about deployment can be found in the <a href="deployment-symbian.html">Deploying an Application on the Symbian Platform</a> document.</p>
</div>
<!-- @@@symbian-with-qt-introduction.html -->
      </div>
    </div>
    </div> 
    <div class="ft">
      <span></span>
    </div>
  </div> 
  <div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2015 The Qt Company Ltd.
      Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Qt and respective logos are trademarks of The Qt Company Ltd 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
  </div>

  <script src="scripts/functions.js" type="text/javascript"></script>
</body>
</html>