×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Getting started with Qt

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (moved Getting started with Qt for Symbian to Getting started with Qt: "for Symbian" branding not used any more)
hamishwillee (Talk | contribs)
(Hamishwillee - Update to current state of play)
Line 1: Line 1:
[[Category:Qt]][[Category:Symbian]][[Category:Qt Wiki Qt Articles]]
+
[[Category:Qt]][[Category:Symbian]][[Category:MeeGo]]
== Introduction ==
+
{{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.}}
  
This article is for beginners who want to start development in [[Qt for Symbian]].  
+
== Overview ==
 +
Qt (pronounced "cute") is a cross platform development framework which allows you to target both mobile devices and desktop platforms.  
  
== First step ==
+
App user interfaces for mobile devices are created using [[:Category:Qt Quick|Qt Quick]] and the [[Qt Quick Components]] (an application framework written using 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.
  
You can find the Qt SDK and Getting Started documentation from [http://www.developer.nokia.com/Develop/Qt/ Nokia Developer: Qt].
+
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).
  
== Further resources ==
+
{{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.
  
Qt Wiki Articles can be found under "[[:Category:Qt]]".
+
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 04:24, 16 February 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 written using 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

546 page views in the last 30 days.
×