Doc: move misc overview topics to a separate folder

Change-Id: I7bcf4edb2e23c669b000e08a1d6ce14b3982fd0d
Reviewed-on: http://codereview.qt-project.org/5610
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This commit is contained in:
Leena Miettinen
2011-09-27 11:54:44 +02:00
parent 76b59d0300
commit 44c107c267
13 changed files with 1437 additions and 0 deletions

View File

@@ -0,0 +1,126 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-glossary.html
\page creator-acknowledgements.html
\title Acknowledgements
\section1 Third-party Components
\QC contains the following third-party components:
\list
\o \bold{Open Source front-end for C++ (license MIT)}, enhanced for use
in \QC.\br
Roberto Raggi <roberto.raggi@gmail.com>\br
QtCreator/src/shared/cplusplus\br\br
\o \bold{Botan, a C++ crypto library. Version 1.8.8}\br
\list
\o Copyright (C) 1999-2004 The Botan Project. All rights
reserved.
\o Copyright (C) 1999-2009 Jack Lloyd
\o 2001 Peter J Jones
\o 2004-2007 Justin Karneges
\o 2005 Matthew Gregan
\o 2005-2006 Matt Johnston
\o 2006 Luca Piccarreta
\o 2007 Yves Jerschow
\o 2007-2008 FlexSecure GmbH
\o 2007-2008 Technische Universitat Darmstadt
\o 2007-2008 Falko Strenzke
\o 2007-2008 Martin Doering
\o 2007 Manuel Hartl
\o 2007 Christoph Ludwig
\o 2007 Patrick Sona
\endlist
All rights reserved.\br\br
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:\br\br
1. Redistributions of source code must retain the above copyright
notice, this list of conditions, and the following disclaimer.\br\br
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.\br
\br
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE,
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\br\br
The source code of Botan C++ crypto library can be found
here:
\list
\o QtCreator/src/libs/3rdparty
\o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty}
\endlist
\br\br
\o \bold{NetSieben SSH Library is a Secure Shell client library for C++.
Version 1.3.2}\br
\list
\o \bold{Commercial License:} For organizations who do not want to
release the source code for their applications as open source/
free software; in other words they do not want to comply with the
GNU General Public License (GPL) or Q Public License.
\o \bold{Non Commercial / Open Source License:} NetSieben believes in
contributing back to the open source community, thus it has released
the SSH Library under Q Public License as it is defined by Trolltech
AS of Norway. The Open Source License allows the user to use software
under an open source / free software license, and distribute it
freely. The software can be used at no charge with the condition
that if the user uses the SSH Library in an application they wish to
redistribute, then the complete source code for your application must
be available and freely redistributable under reasonable conditions.
For more information on the used QPL License see:
QtCreator/src/libs/3rdparty/net7ssh/LICENSE.QPL
\endlist\br\br
The source code of NetSieben Secure Shell C++ Library can be found
here:
\list
\o QtCreator/src/libs/3rdparty
\o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty}
\endlist
\endlist
*/

View File

@@ -0,0 +1,71 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-help.html
\page creator-advanced.html
\nextpage creator-os-supported-platforms.html
\title Advanced Use
\QC attempts to meet your development needs, whether you are an
experienced Qt developer or a newcomer to Qt. When you install \QC
as a part of \QSDK, the default configuration allows you to start coding,
building, running and debugging applications with very little effort.
However, you can easily change or extend the default configuration, by
choosing a different build system, adding project wizards, integrating
external tools, or editing the standard MIME types that \QC uses
to recognize your files.
You can start \QC and specify some options for running it from the
command line.
This following topics describe advanced use of \QC:
\list
\o \l{Supported Platforms}
\o \l{Adding New Custom Wizards}
\o \l{Setting Up a CMake Project}
\o \l{Setting Up a Generic Project}
\o \l{Using Version Control Systems}
\if defined(qcmanual)
\o \l{Adding Qt Designer Plugins}
\endif
\o \l{Using External Tools}
\if defined(qcmanual)
\o \l{Using Maemo or MeeGo Harmattan Emulator}
\endif
\o \l{Editing MIME Types}
\o \l{Showing Task List Files in the Build Issues Pane}
\o \l{Using Command Line Options}
\o \l{Keyboard Shortcuts}
\o \l{Glossary}
\endlist
*/

View File

@@ -0,0 +1,57 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-running-valgrind-remotely.html
\page creator-deployment.html
\nextpage creator-deployment-symbian.html
\title Deploying Applications to Mobile Devices
Deploy configurations in the \gui Project mode \gui {Run Settings} handle
the packaging of the application as an executable and copying it to a
location you want to run the executable at. The files can be copied to a
location in the file system of the development PC or a mobile device.
When you are ready to publish the application on a publishing channel, you
must make sure that the installation file meets the requirements for
publishing and installing applications to the target devices. The following
sections describe the steps that you have to take to create installation
packages for publishing on different channels:
\if defined(qcmanual)
\list
\o \l{Deploying Applications to Symbian Devices}
\o \l{Deploying Applications to Maemo or MeeGo Harmattan Devices}
\o \l{Publishing Maemo Applications to Extras-devel}
\o \l{Publishing Applications to Ovi Store}
\o \l{Building with Remote Compiler}
\endlist
\endif
*/

View File

@@ -0,0 +1,68 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-publishing-to-maemo-extras.html
\page creator-publish-ovi.html
\nextpage creator-publish-ovi-symbian.html
\title Publishing Applications to Ovi Store
Ovi Store is the global content market of Nokia, which reaches millions of
people worldwide. Consumers can access Ovi Store through either of these
platforms:
\list
\o Ovi Store applications on mobile devices
\o Web browsers on desktop computers, laptops, netbooks, and tablets
\endlist
Consumers have access to a wide selection of content and can download
content in a few easy clicks.
The process and requirements to publish Qt applications to Ovi Store are
described in the
\l {http://www.developer.nokia.com/Community/Wiki/Guide_to_Publishing_Qt_Applications_to_the_Ovi_Store}
{Guide to Publishing Qt Applications to the Ovi Store} wiki.
This section describes how to generate installation packages that you can
publish to Ovi Store.
\if defined(qcmanual)
\list
\o \l{Publishing Qt Content for Symbian Devices}
\o \l{Publishing Qt Content for Maemo Devices}
\o \l{Publishing Qt Content for MeeGo Harmattan Devices}
\endlist
\endif
*/

View File

@@ -0,0 +1,74 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-editor-fakevim.html
\page creator-design-mode.html
\nextpage creator-visual-editor.html
\title Developing Application UI
Large high-resolution screens, touch input, and significant graphics power
are becoming common in portable consumer devices, such as mobile phones,
media players, set-top boxes, and netbooks. To fully benefit from these
features and to create intuitive, modern-looking, fluid user interfaces,
you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}{Qt Quick}.
Qt Quick consists of a rich set of user interface elements, a declarative
language for describing user interfaces, and a language runtime. A
collection of C++ APIs is used to integrate these high level features with
classic Qt applications.
You can edit QML code in the code editor or in the integrated \QMLD.
\image qtcreator-design-mode.png "Design mode"
The integration includes project management and code completion.
\if defined(qcmanual)
If you need a traditional user interface that is clearly structured and
enforces a platform look and feel, you can use the integrated \QD. You can
compose and customize your widgets or dialogs and test them using different
styles and resolutions.
\endif
The following sections describe how to develop application UI:
\list
\o \l{Developing Qt Quick Applications}
\if defined(qcmanual)
\o \l{Developing Widget Based Applications}
\endif
\o \l{Optimizing Applications for Mobile Devices}
\endlist
*/

View File

@@ -0,0 +1,50 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-quick-tour.html
\page creator-getting-started.html
\nextpage creator-build-example-application.html
\title Getting Started
This section contains examples that illustrate how to use \QC to create,
build, and run simple applications:
\list
\o \l{Building and Running an Example Application}
\o \l{Creating a Qt Quick Application}
\if defined(qcmanual)
\o \l{Creating a Qt Quick Application Using Qt Quick Components}
\o \l{Creating a Qt Widget Based Application}
\o \l{Creating a Qt Widget Based Mobile Application}
\endif
\endlist
*/

View File

@@ -0,0 +1,89 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage technical-support.html
\page creator-glossary.html
\nextpage creator-acknowledgements.html
\title Glossary
\table
\header
\o Term
\o Meaning
\row
\o
\raw HTML
Qt&nbsp;in&nbsp;PATH
\endraw
\target glossary-system-qt
\o This is the Qt
version for the \c qmake command found in your \c PATH
environment variable.
This is likely to be the system's Qt version.
\row
\o
\raw HTML
Project&nbsp;Qt
\endraw
\target glossary-project-qt
\o The version of Qt configured in the \gui{Projects} mode,
\gui {Build Settings}, \gui {Qt Version} field. This is the Qt
version that is actually used by a particular project.
\row
\o
\raw HTML
Shadow&nbsp;build
\endraw
\target glossary-shadow-build
\o Shadow building means building a project in a separate
directory, the \e{build directory}. The build directory is
different from the source directory. One of the benefits of
shadow building is that it keeps your source directory clean.
Shadow building is the best practice if you need many build
configurations for a single set of source.
\row
\o
\raw HTML
Target
\endraw
\target glossary-development-target
\o Target means the software platform for which you develop an
application. Qt Creator groups platform specific settings (such
as build configurations, compatible tool chains, and supported
Qt versions) as targets to make cross-platform development
easier.
\endtable
*/

View File

@@ -0,0 +1,174 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-tips.html
\page creator-known-issues.html
\nextpage technical-support.html
\title Known Issues
This section lists known issues in \QC version \qtcversion. The development
team is aware of them, and therefore, you do not need to report them as
bugs.
For a list of fixed issues and added features, see the changelog file in
the \c{qtcreator\dist} folder or the \l{https://bugreports.qt.nokia.com}
{Qt Bug Tracker}.
\section1 General Issues
\list
\o If you change the Input Languages in Windows, \QC might not
respond for 30 seconds. This is a known issue in the Advanced Text
Service of Microsoft Windows.
\o \QC uses SQLite for storing some of its settings. SQLite is
known to have problems with certain NFS servers (most notably the
nfs-user-server 2.2beta), since they can lock up the application
when it tries to lock the database. If your home directory is on an
NFS share and you encounter this issue, one option would be to
switch to the nfs-kernel-server, or create a symlink so that the
settings are stored locally.
\o The Okteta KDE custom widget plugin might be installed as part of
some Linux distributions. It can cause Qt Designer to crash. For
more information, see:
\list
\o \l{https://bugs.launchpad.net/ubuntu/+source/kdeutils/+bug/662005}
{Ubuntu bug 662005}
\o \l{https://bugreports.qt.nokia.com/browse/QTBUG-12025}
{QTBUG-12025}
\endlist
To resolve the issue, enter the following command to remove the
package:
\code
sudo apt-get remove okteta
\endcode
Or delete the following file:
\c /usr/lib/kde4/plugins/designer/oktetadesignerplugin.so.
\endlist
\section1 Editing Issues
\list
\o Code completion does not support typedefs for nested classes.
\endlist
\section1 Projects Issues
\list
\o Paths or file names containing spaces or special characters
(such as colons, dollar signs, and hash marks) may cause problems.
This is because some of the tools \QC uses in the background have
restrictions on the characters allowed in file and directory names.
To be on the safe side, we recommend creating projects and project
items with names consisting of plain characters, numbers,
underscores, and hyphens.
\o Creating new CMake projects with \QC is not supported.
\if defined(qcmanual)
\o On Windows, you must create projects for Maemo 5 and Harmattan
targets on the same partition where you installed \QSDK, \QC, and
MADDE.
\endif
\o If error messages displayed in the \gui {Compile Output} pane contain
paths where slashes are missing (for example, C:QtSDK),
check your PATH variable. For more information, see
\l{Troubleshooting MinGW Compilation Errors}.
\endlist
\section1 Debugging Issues
\list
\o Debugging large applications on Symbian devices using the Symbian^3
operating system might not work, because the on-device debugging
agent might not be able to access memory when the operating system
starts paging. This causes breakpoint handling and symbol resolution
to fail. For more information, see
\l{https://bugreports.qt.nokia.com/browse/QTCREATORBUG-2158}
{QTCREATORBUG-2158}.
As a workaround, add the following section to the application .pro
file to disable paging:
\code
debug {
MMP_RULES -= PAGED
MMP_RULES *= UNPAGED
}
\endcode
\note You must completely clean and rebuild the project for the
setting to take effect.
\o When debugging executables created by the GNU Compiler version 4.5.0
(all platforms), some data types will not be displayed in the
\gui{Locals and Expressions} view due to missing debug information.
\o GDB on Windows may not work if the 'Embassy \reg Security Center'
software by 'Wave \reg Systems' is installed and active (causing
crashes in \c{vxvault.dll)}).
\o GDB may take long to load debugging symbols, especially from large
libraries.
\o Setting breakpoints in code that is compiled into the binary more
than once does not work.
\o Setting breakpoints in files that do not have unique absolute
paths may fail. For example, remounting parts of a file system
using the --bind mount option.
\endlist
\section1 Qt Quick Designer Issues
\list
\o \QMLD uses external processes (QML Puppet) to render and preview
images and to collect data. Executing C++ code might cause the QML
Puppet to crash. If it crashes, an error message is displayed and
you can continue editing the QML file in the code editor.
\endlist
*/

View File

@@ -0,0 +1,364 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage index.html
\page creator-overview.html
\nextpage creator-quick-tour.html
\title IDE Overview
\QC is an integrated development environment (IDE) that provides you with
tools to design and develop applications with the Qt application framework.
Qt is designed for developing applications and user interfaces once and
deploying them across several desktop and mobile operating systems. \QC
provides you with tools for accomplishing your tasks throughout the whole
application development life-cycle, from creating a project to deploying the
application on the target platforms.
\image qtcreator-overview.png "Overview"
\section1 Cross-platform Development
One of the major advantages of \QC is that it allows a team of developers
to share a project across different development platforms with a common tool
for development and debugging.
The recommended way to build a project is to use a version control system.
Store and edit only project source files and build system configuration
files (for example, .pro and .pri files for qmake). Do not store files
generated by the build system or \QC, such as makefiles, .pro.user, and
object files. Other approaches are possible, but we recommend that you do
not use network resources, for example.
\QC allows you to specify separate build settings for each development
platform. By default, \l{glossary-shadow-build}{shadow builds} are used to
keep the build specific files separate from the source.
You can create separate versions of project files to keep platform-dependent
code separate. You can use qmake
\l{http://qt.nokia.com/doc/4.7/qmake-tutorial.html#adding-platform-specific-source-files}
{scopes} to select the file to process depending on which platform qmake is
run on.
Items such as open files, breakpoints, and evaluated expressions are stored
in sessions. They are not considered to be part of the information shared
across platforms.
\section1 Creating Projects
But why do you need projects? To be able to build and run applications,
\QC needs the same information as a compiler would need. This information
is specified in the project build and run settings.
Creating a project allows you to:
\list
\o Group files together
\o Add custom build steps
\o Include forms and resource files
\o Specify settings for running applications
\endlist
Setting up a new project in \QC is aided by a wizard that guides you
step-by-step through the project creation process. In the first step, you
select the type of the project. Next, you select a location for the project
and specify settings for it.
\image qtcreator-new-qt-quick-project-wizard.png
When you have completed the steps, \QC automatically generates the project
with required headers, source files, user interface descriptions and project
files, as defined by the wizard.
For example, if you choose to create a Qt Quick application, \QC generates a
QML file that you can modify with the integrated \QMLD.
\section2 Adding Libraries
In addition to Qt libraries, you can link your application to other
libraries, such as system libraries or your own libraries. Further, your
own libraries might link to other libraries. To be able to compile your
project, you must add the libraries to your project. This also enables
code completion and syntax highlighting for the libraries.
The procedure of adding a library to a project depends on the build
system that you use.
\section2 Version Control Systems
\QC uses the version control system's command line clients to access your
repositories. The following version control systems are supported:
\list
\o Git
\o Subversion
\o Perforce
\o CVS
\o Mercurial
\o Bazaar
\endlist
The functions available to you in \QC depend on the version control system.
Basic functions are available for all the supported systems. They include
comparing files with the latest versions stored in the repository and
displaying the differences, viewing versioning history and change details,
annotating files, and committing and reverting changes.
\section1 Designing User Interfaces
\if defined(qcmanual)
\QC provides two integrated visual editors, \QMLD and \QD.
\image qtcreator-ui-designers.png "Qt Quick Designer and Qt Designer"
\endif
Large high-resolution screens, touch input, and significant graphics power
are becoming common in portable consumer devices, such as mobile
phones, media players, set-top boxes, and netbooks. To fully benefit from
these features and to create intuitive, modern-looking, fluid user
interfaces, you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}
{Qt Quick}.
Qt Quick consists of a rich set of user interface elements, a declarative
language for describing user interfaces, and a language runtime. A
collection of C++ APIs is used to integrate these high level features with
classic Qt applications.
You can edit QML code in the code editor or in the integrated \QMLD.
The integration includes project management and code completion.
\if defined(qcmanual)
If you need a traditional user interface that is clearly structured and
enforces a platform look and feel, you can use the integrated \QD. You can
compose and customize your widgets or dialogs and test them using different
styles and resolutions.
\endif
\section1 Code Editor
As an IDE, \QC differs from a text editor in that it knows how to build and
run applications. It understands the C++ and QML languages as code, not just
as plain text. This allows it to:
\list
\o Enable you to write well formatted code
\o Anticipate what you are going to write and complete the code
\o Display inline error and warning messages
\o Enable you to semantically navigate to classes, functions, and
symbols
\o Provide you with context-sensitive help on classes, functions, and
symbols
\o Rename symbols in an intelligent way, so that other symbols with the
same name that belong to other scopes are not renamed
\o Show you the locations in code where a function is declared or
called
\endlist
You can use the code editor to write code in Qt C++ or in the QML
declarative programming language. QML is an extension to JavaScript, that
provides a mechanism to declaratively build an object tree of QML elements.
QML improves the integration between JavaScript and Qt's existing QObject
based type system, adds support for automatic property bindings and provides
network transparency at the language level.
\section1 Building
\QC is integrated with cross-platform systems for build automation: qmake
and CMake. In addition, you can import generic projects that do not use
qmake or CMake, and specify that \QC ignores your build system.
\if defined(qcmanual)
\QC provides support for building and running Qt applications for desktop
environment (Windows, Linux, and Mac OS) and mobile devices (Symbian, Maemo,
and MeeGo Harmattan). Build settings allow you to quickly switch between
build targets.
\endif
When you install tool chains for build targets as part of the \QSDK, the
build and run settings for mobile device targets are set up automatically.
However, you might need to install and configure some additional software on
the devices to be able to connect to them from the development PC.
\note The only supported build system for mobile applications in \QC is
qmake.
\section1 Testing
If you install \QC as part of \QSDK, the GNU Symbolic Debugger is installed
automatically and you should be ready to start debugging after you create a
new project. However, you can change the setup to use debugging tools for
Windows, for example. You can connect mobile devices to your development PC
and debug processes running on the devices.
You can use code analysis tools to detect memory leaks, profile cache usage,
and profile Qt Quick applications.
You can test applications that are intended for mobile devices in a
simulator or emulator, but you also need to test the applications on real
devices.
\section2 Debuggers
\QC is integrated to several external native debuggers:
\list
\o GNU Symbolic Debugger (GDB)
\o Microsoft Console Debugger (CDB)
\o internal JavaScript debugger
\endlist
You can use the \QC \gui Debug mode to inspect the state of your application
while debugging. You can interact with the debugger in several ways,
including the following:
\list
\o Go through a program line-by-line or instruction-by-instruction.
\o Interrupt running programs.
\o Set breakpoints.
\o Examine the contents of the call stack.
\o Examine and modify registers and memory contents of
the debugged program.
\o Examine and modify registers and memory contents of
local and global variables.
\o Examine the list of loaded shared libraries.
\o Create snapshots of the current state of the debugged program
and re-examine them later.
\endlist
\QC displays the raw information provided by the native debuggers in a clear
and concise manner with the goal to simplify the debugging process as much
as possible without losing the power of the native debuggers.
In addition to the generic IDE functionality provided by stack view, views
for locals and expressions, registers, and so on, \QC includes features to
make debugging Qt-based applications easy. The debugger plugin understands
the internal layout of several Qt classes, for example, QString, the Qt
containers, and most importantly QObject (and classes derived from it), as
well as most containers of the C++ Standard Library and some GCC extensions.
This deeper understanding is used to present objects of such classes in a
useful way.
\section3 QML Script Console
You can use the \QC \gui Debug mode to inspect the state of the application
while debugging JavaScript functions. You can set breakpoints, view call
stack trace, and examine locals and expressions.
When the application is interrupted by a breakpoint, you can use the
\gui {QML Script Console} to execute JavaScript expressions in the current
context. You can type JavaScript expressions and use them to get information
about the state of the application, such as property values.
If you change property values or add properties in the code editor, the
changes are updated in the running application when they are saved.
\section3 QML Inspector
While the application is running, you can use the \gui {QML Inspector} view
to explore the object structure, debug animations, and inspect colors. When
debugging complex applications, you can use the inspection mode to jump to
the position in code where an element is defined.
\section2 Code Analysis Tools
The memory available on devices is limited and you should use it carefully.
\QC integrates Valgrind code analysis tools for detecting memory
leaks and profiling function execution. These tools are only supported on
Linux and Mac OS, but you can run them remotely from Windows. You must
download and install them separately to use them from \QC.
The QML Profiler is installed as part of \QC. It allows you
to profile your Qt Quick applications and is available on all supported
development platforms.
\section2 Qt Simulator
You can use the Qt Simulator to test Qt applications that are intended
for mobile devices in an environment similar to that of the device. You
can change the information that the device has about its configuration
and environment.
Qt Simulator does not support any device specific APIs by design. Therefore,
applications that run well on Qt Simulator also run on any device that hosts
the Qt and Qt Mobility libraries. However, this means that you cannot use
Qt Simulator to test applications that use device specific libraries, such
as Symbian C++ APIs. To test such applications, use the device emulators or
real devices.
The Qt Simulator is installed as part of the \QSDK. After it is
installed, you can select it as a build target in \QC.
\if defined(qcmanual)
\input linux-mobile/madde-emulator-overview.qdocinc
\endif
\section1 Deploying
\QC deploy configurations handle the packaging of the application as an
executable and copying it to a location developers want to run the
executable at. The files can be copied to a location in the file system of
the development PC or to a mobile device.
\QC allows you to create installation packages for mobile devices that are
suitable for publishing on Ovi Store and other channels.
*/

View File

@@ -0,0 +1,107 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-advanced.html
\page creator-os-supported-platforms.html
\nextpage creator-project-wizards.html
\title Supported Platforms
You can install and run \QC on several operating systems to create
applications for multiple desktop and mobile device platforms.
\section1 Development Platforms
\QC is available in binary packages for the following operating systems:
\list
\o Windows 7
\o Windows XP Service Pack 2
\o Windows Vista
\o (K)Ubuntu Linux 8.04 (32-bit and 64-bit) or later, with the
following:
\list
\o g++
\o make
\o libglib2.0-dev
\o libSM-dev
\o libxrender-dev
\o libfontconfig1-dev
\o libxext-dev
\o libfreetype6-dev
\o libx11-dev
\o libxcursor-dev
\o libxfixes-dev
\o libxft-dev
\o libxi-dev
\o libxrandr-dev
\o If you are using QtOpenGL, libgl-dev and libglu-dev
\endlist
\o Mac OS 10.5 or later with the following:
\list
\o Xcode tools for your Mac OS X version available from your
Mac OS X installation DVDs or at
\l http://developer.apple.com.
\endlist
\endlist
\section1 Compiling from Source
To build \QC from the source, see the requirements and instructions in the
readme file that is located in the source repository.
\input overview/creator-target-platforms.qdocinc
*/

View File

@@ -0,0 +1,60 @@
\section1 Target Platforms
You can develop applications for the following platforms:
\list
\o Desktop
\o Qt Simulator
\o Maemo 5
\o MeeGo Harmattan
\o Generic remote Linux
\o Symbian
\endlist
The following table summarizes operating system support for developing
applications for mobile device platforms.
\table
\header
\o {1,6} Operating system
\o {6,1} Platform
\header
\o Desktop
\o Qt Simulator
\o Maemo 5
\o MeeGo Harmattan
\o Generic Remote Linux
\o Symbian
\row
\o Windows
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes
\row
\o Linux
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes (by using Remote Compiler for building)
\row
\o Mac OS X
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes
\o Yes (by using Remote Compiler for building)
\endtable

View File

@@ -0,0 +1,70 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-known-issues.html
\page technical-support.html
\nextpage creator-glossary.html
\title Technical Support
The following table lists Qt support sites and other useful links.
\table
\header
\o What Do You Want to Do
\o Where to Go
\row
\o Learn more about Qt
\o \l{http://qt.nokia.com/developer/learning/online/training/specialized-elearning/}
{Specialized eLearning Modules Based on Qt Training Modules}
\row
\o Develop Qt applications for desktop and mobile devices
\o \l{http://developer.qt.nokia.com/}{Qt Developer Network}
\row
\o Develop Qt applications for Nokia mobile devices
\o \l{http://www.developer.nokia.com/Develop/Qt/}
{Nokia Developer - Qt}
\row
\o Participate in Qt development
\o \l{http://qt.gitorious.org/}{Qt Git Hosting}
\row
\o Find free Qt-based applications
\o \l{http://qt-apps.org/}{Qt Apps}
\row
\o Buy commercial Qt support from Digia
\o \l{http://qt.digia.com/}{Qt Commercial}
\endtable
*/

View File

@@ -0,0 +1,127 @@
/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (info@qt.nokia.com)
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at info@qt.nokia.com.
**
****************************************************************************/
// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************
/*!
\contentspage index.html
\previouspage creator-using-qt-designer.html
\page creator-usability.html
\nextpage creator-building-running.html
\title Optimizing Applications for Mobile Devices
Before starting application development, analyze and define the
requirements, scope, and functionality of the application to ensure
efficient functionality and a smooth user experience. Design the application
for a single purpose and analyze how it can best serve its users. Mobile
devices have been designed for use when mobile. Keep the characteristics
of mobile devices in mind when you create applications for them.
The following guidelines help you design and develop usable applications for
mobile devices with varying characteristics, such as screen size and support
for input methods:
\list
\o Know your users
Find out who will use the application, what they will use it for,
and which mobile devices they have. Then design the application to
fit a specific context of use.
\o Design for small screens
The screen size of mobile devices is significantly smaller than that
available on desktop devices. Carefully consider what is the most
relevant content to present on the application UI, as it might not
be reasonable to try and fit as much content into the screen as you
might have in a desktop application.
\o Design for multiple screen sizes
Relate the position and size of each control to the dimensions of
the display. This enables the same set of information to be
presented on the screen in all resolutions; higher resolution
devices just display finer graphics.
\o Design for changing screen orientation
Some devices support screen rotation. On these devices, applications
can be displayed in portrait or landscape orientation. Account for
orientation and dynamically adjust the display when the screen is
rotated.
\o Design intuitive ways of moving within applications
Mobile devices lack a mouse and full-size keyboard, so users must
use the touch screen or five way navigation pad to move within
applications. In addition, many users control the devices with one
hand. To create an optimized user experience, allow users to access
information with one click; do not make them scroll and type.
\o Design for limited input methods
Applications collect information from users on the task at hand. In
addition to touch screen input, some devices contain physical keys
such as a five way navigation pad, a keypad, and a keyboard. Users
enter information by using screen controls, such as lists, check
boxes, radio buttons, and text fields.
\o Keep response times short
Latency can cause delays in user interaction. If users perceive
an application as being slow, they are likely to get frustrated and
stop using it.
\o Save battery time
Mobile devices are not constantly connected to a power source but
run on battery power. Optimize power consumption to keep the total
consumption at an acceptable level and to prevent users from running
out of battery time.
\o Consider network issues
If users do not have a flat-rate data plan or WLAN support, mobile
network connections cost them money. Also, when users move around
with the devices, the networks available for connections constantly
change.
\o Remember the processing limits of the device
The memory available on devices is limited and you should use it
carefully. Although all mobile devices have common functionality,
each device is individual in terms of both the resources available
and extra features. Therefore, you must consider the constraints of
all the target devices.
\endlist
For more information about user experience techniques for mobile devices,
see the \l{http://www.developer.nokia.com/Resources/Library/Design_and_UX}
on Nokia Developer.
*/