Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > ff187cb994c94c614ecc64c5a8528b1b > files > 1678

qt-doc-4.8.5-10.fc18.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" />
<!-- emb-features.qdoc -->
  <title>Qt 4.8: Fine-Tuning Features in 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>Fine-Tuning Features in 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="#simple-customization">Simple Customization</a></li>
<li class="level2"><a href="#embedded-linux">Embedded Linux</a></li>
<li class="level2"><a href="#windows-ce">Windows CE</a></li>
<li class="level1"><a href="#managing-large-numbers-of-features">Managing Large Numbers of Features</a></li>
</ul>
</div>
<h1 class="title">Fine-Tuning Features in Qt</h1>
<span class="subtitle"></span>
<!-- $$$fine-tuning-features.html-description -->
<div class="descr"> <a name="details"></a>
<p>In many cases, only a fixed set of applications are deployed on an embedded device, making it possible to save resources by minimizing the size of the associated libraries. The Qt installation can easily be optimized by avoiding to compile in the features that are not required.</p>
<p>A wide range of features are defined, covering classes and technologies provided by several of Qt's modules. You can look up the different feature definitions in the <tt>src/corelib/global/qfeatures.txt</tt> file within the Qt source distribution.</p>
<a name="simple-customization"></a>
<h2>Simple Customization</h2>
<a name="embedded-linux"></a>
<h3>Embedded Linux</h3>
<p>To disable a particular feature, just run the <tt>configure</tt> script for Qt for Embedded Linux with the <tt>-no-feature-&lt;feature&gt;</tt> option. For example:</p>
<pre class="cpp"> ./configure -no-feature-thread</pre>
<p>The feature can easily be enabled again by running <tt>configure</tt> with the <tt>-feature-&lt;feature&gt;</tt> option.</p>
<p>See also <a href="qt-performance.html">Qt Performance Tuning</a>.</p>
<a name="windows-ce"></a>
<h3>Windows CE</h3>
<p>To disable a particular feature, just run the <tt>configure</tt> script with the set of required <tt>-D&lt;feature&gt;</tt> options. For example, you can use the <tt>-D</tt> option to define <tt>QT_NO_THREAD</tt>:</p>
<pre class="cpp"> configure.exe -D QT_NO_THREAD</pre>
<p>The <tt>-D</tt> option only creates a Qt internal define. If you get linker errors you have to define <tt>QT_NO_THREAD</tt> also for your project. You can do this by adding <tt>DEFINES</tt> += <tt>QT_NO_THREAD</tt> to your <tt>.pro</tt> file.</p>
<p>See also <a href="qt-performance.html">Qt Performance Tuning</a>.</p>
<a name="managing-large-numbers-of-features"></a>
<h2>Managing Large Numbers of Features</h2>
<p>If you want to disable a lot of features, it is more comfortable to use the <tt>qconfig</tt> tool. You can disable a <i>set</i> of features by creating a custom configuration file that defines the preferred subset of Qt's functionality. Such a file uses macros to disable the unwanted features, and can be created manually or by using the <tt>qconfig</tt> tool located in the <tt>tools/qconfig</tt> directory of the Qt source distribution.</p>
<p><b>Note:</b> The <tt>qconfig</tt> tool is intended to be built against Qt on desktop platforms.</p>
<p class="centerAlign"><img src="images/qt-embedded-qconfigtool.png" alt="" /></p><p>The <tt>qconfig</tt> tool's interface displays all of Qt's functionality, and allows the user to both disable and enable features. The user can open and edit any custom configuration file located in the <tt>src/corelib/global</tt> directory. When creating a custom configuration file manually, a description of the currently available Qt features can be found in the <tt>src/corelib/global/qfeatures.txt</tt> file.</p>
<p>Note that some features depend on others; disabling any feature will automatically disable all features depending on it. The feature dependencies can be explored using the <tt>qconfig</tt> tool, but they are also described in the <tt>src/corelib/global/qfeatures.h</tt> file.</p>
<p>To be able to apply the custom configuration, it must be saved in a file called <tt>qconfig-myfile.h</tt> in the <tt>src/corelib/global</tt> directory. Then use the <tt>configure</tt> tool's <tt>-qconfig</tt> option and pass the configuration's file name without the <tt>qconfig-</tt> prefix and <tt>.h</tt> extension, as argument. The following examples show how this is invoked on each of the embedded platforms for a file called <tt>qconfig-myfile.h</tt>:</p>
<p><b>Embedded Linux:</b></p>
<pre class="cpp"> ./configure -qconfig myfile</pre>
<p><b>Windows CE:</b></p>
<pre class="cpp"> configure.exe -qconfig myfile</pre>
<p>Qt provides several ready-made custom configuration files, defining minimal, small, medium and large installations, respectively. These files are located in the <tt>/src/corelib/global</tt> directory in the Qt source distribution.</p>
</div>
<!-- @@@fine-tuning-features.html -->
      </div>
    </div>
    </div> 
    <div class="ft">
      <span></span>
    </div>
  </div> 
  <div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2013 Digia Plc and/or its
      subsidiaries. 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>
      Digia, Qt and their respective logos are trademarks of Digia Plc 
      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>