×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Getting started with Qt

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot fixing redirect link.)
hamishwillee (Talk | contribs)
m (Hamishwillee - Fix categories)
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Qt]][[Category:Symbian]][[Category:Qt Wiki Qt Articles]]
+
[[Category:Qt]][[Category:Symbian]][[Category:MeeGo Harmattan]][[Category:Getting Started]]
== Introduction ==
+
{{FeaturedArticle|timestamp=20120219}}
 +
{{ArticleMetaData <!-- v1.2 -->
 +
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
 +
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 +
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Qt SDK 1.1.4]) -->
 +
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 +
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 +
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= [[User:hamishwillee]]
 +
|update-timestamp= 20120217
 +
|creationdate= 20081229
 +
|author= [[User:James1980]]
 +
}}
  
This article is for beginners who want to start development in [[Qt for Symbian]].  
+
{{Abstract|This article is for developers who want to start creating [[Qt]] apps. You may also choose to start using the static [http://www.developer.nokia.com/Develop/Qt/Getting_started/ getting started] site.}}
  
== First step ==
+
== Overview ==
 +
Qt (pronounced "cute") is a cross platform development framework which allows you to target both mobile devices and desktop platforms.
  
You can find the Qt SDK and Getting Started documentation from [http://www.developer.nokia.com/Develop/Qt/ Nokia Developer: Qt].
+
App user interfaces for mobile devices are created using [[:Category:Qt Quick|Qt Quick]] and the [[Qt Quick Components]] (an application framework for Qt Quick). The "programming language" of Qt Quick is called QML, a declarative language which combines a CSS like declaration of how the UI ''looks'' in different states and how it animates between them, along with JavaScript. The language is intuitive and relatively easy to learn - even relative novices can create very fluid interfaces with little effort.  
  
== Further resources ==
+
Application engines can often be written directly in Qt Quick/QML using JavaScript as many useful C++ APIs are exposed or can trivially be imported into QM. Where JavaScript does not provide the needed functionality or is simply not fast enough, you can always write your engine using the full power of Qt C++ and then expose both properties and functions to your QML app (this requires some C++ programming ability, but is well documented).
  
Qt Wiki Articles can be found under "[[:Category:Qt]]".
+
{{Note|Qt UIs have historically been developed using cross-platform C++ libraries based on [[:Category:QWidget UI|QWidget]], and more recently on {{Qapiname|QGraphicsView}}. While these UIs are still available and supported for desktop platforms, you may find that Qt Quick is more effective for creating more fluid animated UIs. <br />
 +
{{Qapiname|QWidget}} based UIs should '''not''' be used for mobile devices; while the may "work" they are not optimised for any mobile platform, and do not come with framework support for the sorts view/page based UIs most common on mobile devices.<br /><br />You may also see [[:Category:Qt Mobility|Qt Mobility]] APIs being mentioned in the documentation set. These are a set of C++ and QML/JavaScript APIs that provide access to use cases that are more important in mobile contexts (for example contacts or location information). These may be considered to be part of Qt, although they are not as relevant for desktop platforms.}}
 +
 
 +
== Getting started ==
 +
We recommend you start with the [http://www.developer.nokia.com/Develop/Qt/Getting_started/ Getting Started with Qt] section on the static site. This explains how to download the latest [http://www.developer.nokia.com/Develop/Qt/Tools/ Qt SDK]. This contains the Qt Creator IDE, which in turn contains documentation and everything else you need to get started.
 +
 
 +
The static site has links to many other resources, and we include a few additional links below.
 +
 
 +
== Further resources ==
  
[http://www.developer.nokia.com/Community/Discussion/forumdisplay.php?219-Qt Qt Discussion Boards]
+
* [http://www.developer.nokia.com/Develop/Qt/ Nokia Developer:Qt]. This includes separate tabs for tools, getting started, examples, videos etc.
 +
* [[:Category:Qt Quick]] - articles about writing Qt Quick based applications, or which use Qt Quick in their UI
 +
* [[:Category:Qt]] - all Qt articles, except those that use [[:Category:QWidget UI|QWidget]] based UIs.
 +
* [http://www.developer.nokia.com/Community/Discussion/forumdisplay.php?219-Qt Qt Discussion Boards]

Revision as of 08:35, 17 July 2012

{{{width}}}
19 Feb
2012
Article Metadata
Compatibility
Platform(s):
Symbian
Article
Created: james1980 (29 Dec 2008)
Updated: hamishwillee (17 Feb 2012)
Last edited: hamishwillee (17 Jul 2012)

This article is for developers who want to start creating Qt apps. You may also choose to start using the static getting started site.

Overview

Qt (pronounced "cute") is a cross platform development framework which allows you to target both mobile devices and desktop platforms.

App user interfaces for mobile devices are created using Qt Quick and the Qt Quick Components (an application framework for Qt Quick). The "programming language" of Qt Quick is called QML, a declarative language which combines a CSS like declaration of how the UI looks in different states and how it animates between them, along with JavaScript. The language is intuitive and relatively easy to learn - even relative novices can create very fluid interfaces with little effort.

Application engines can often be written directly in Qt Quick/QML using JavaScript as many useful C++ APIs are exposed or can trivially be imported into QM. Where JavaScript does not provide the needed functionality or is simply not fast enough, you can always write your engine using the full power of Qt C++ and then expose both properties and functions to your QML app (this requires some C++ programming ability, but is well documented).

Note.pngNote: Qt UIs have historically been developed using cross-platform C++ libraries based on QWidget, and more recently on QGraphicsView. While these UIs are still available and supported for desktop platforms, you may find that Qt Quick is more effective for creating more fluid animated UIs.
QWidget based UIs should not be used for mobile devices; while the may "work" they are not optimised for any mobile platform, and do not come with framework support for the sorts view/page based UIs most common on mobile devices.

You may also see Qt Mobility APIs being mentioned in the documentation set. These are a set of C++ and QML/JavaScript APIs that provide access to use cases that are more important in mobile contexts (for example contacts or location information). These may be considered to be part of Qt, although they are not as relevant for desktop platforms.

Getting started

We recommend you start with the Getting Started with Qt section on the static site. This explains how to download the latest Qt SDK. This contains the Qt Creator IDE, which in turn contains documentation and everything else you need to get started.

The static site has links to many other resources, and we include a few additional links below.

Further resources

284 page views in the last 30 days.