Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Archived:Useful Porting Examples

From Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

See Fundamental use cases for porting iPhone and Android applications to Qt and Mapping iPhone and Android UI Concepts to Qt

Article Metadata
Created: User:Jros (27 Apr 2010)
Last edited: hamishwillee (30 Apr 2013)

Useful features for porting

This page covers some most common features and examples for porting cases, grouped by typical applications. Application sketches on the left side of this document are purposed to illustrate common application types on iPhone and Android devices. UI component images on the right show some of the most common Maemo/Nokia N900 elements used for building native-like user experiences.

Qtexampleapps 2.jpg
Class: QListView QListView class provides a list or icon view onto a model. Read more
Feature: Grouped items Grouping items helps controlling the UI layouts. Once grouped, the items will move together, and all transformations are propagated from parent to child Read more
Class: Linear layout QGraphicsLinearLayout class provides a horizontal or vertical layout for managing widgets in Graphics View Read more
Example: Dynamic linking Plug & Paint example demonstrates how to write Qt applications that can be extended through dynamically loaded plugins Open
Example: Server Fortune Server example shows how to create a server in Qt for a simple network service Open
Feature: State Framework State Machine framework provides an API and execution model that can be used to easily create UI functionality in Qt applications Read more
Example: State transitions Event Transitions example shows how to use event transitions, a feature of The State Machine Framework Open
Common Maemo UI buttons and text elements
Maemo UI menu
Sample Maemo thumbnail list
Common Maemo UI portrait list and buttons
Maemo application dialog example
Maemo landscape list and buttons
Sample Maemo application view
Qtexampleapps 3.jpg
Feature: View transform By applying a transformation to the view, you can easily add support for common navigation features such as zooming and rotating Read more
Example: Drawing Basic Drawing example shows how to display basic graphics primitives in a variety of styles Open
Example: Complex paths Painter Paths example shows how painter paths can be used to build complex shapes for rendering Open
Feature: Draw path Draws the given painter path using the current pen for outline and the current brush for filling Read more
Example: Path stroke Path Stroke example demonstrates various types of pens that can be used in Qt for paths Open
Example: Advanced drawing Advanced Drawing example shows how to use advanced vector techniques to draw text using a QPainterPath Open
Qtexampleapps 5.jpg
Example: XML with DOM QDomDocument enable developers to access the contents of XML files using a Document Object Model (DOM) API. Simple DOM Model example shows how to use it. Open
Example: Image composition Image Composition example demonstrates the powerful image composition features supported in Qt. Open
Example: Advanced composition Composition demo shows some of the more advanced composition modes supported by Qt Open
Example: SVG viewer SVG Viewer example shows how to add SVG viewing support to applications for great scalable UIs and graphics. Open
Example: State toggle Two-way button example shows how to use State Machine Framework to implement a logic that toggles state when a button is clicked Open
Example: State animations Move Blocks example shows how to animate items in a QGraphicsScene using State Machine Framework with a custom transition. Open
Example: State animations Application Chooser example shows how to use the Qt state machine and the animation framework. Open
Qtexampleapps 7.jpg
Class: Syntax highlighting Syntax highlighters are often used when the user is entering text in a specific format and help the user to read the text. Read more
Example: Auto completer Auto-complete makes forms easier to use in mobile environments. Completer example shows how to provide string-completion facilities for an input widget based on defined data. Open
Example: Custom completer Custom Completer is an other example of how to provide string-completion facilities for an input widgetOpen
Example: Google suggest Google Suggest example demonstrates how to use the QNetworkAccessManager class to obtain a list of suggestions from the Google search engine as the user types into a QLineEdit Open
Example: HTTP Client Qt provides network-transparent features for many media and content classes, but HTTP interaction is still the very basic of modern development. HTTP example demonstrates a how to fetch files specified by URLs from remote hosts Open
Example: Web view Web view is a powerful tool for easy content handling. DOM Traversal example shows how to use the QWebElement class to access the structure of web view's HTML page Open
Example: Web view selector Simple Selector example shows how to use QWebElement to access the Document Object Model (DOM) in a Web page Open
Qtexampleapps 9.jpg
Class: QTableView QTableView class provides a default model/view implementation of a table view Read more
Example: Sorting Custom Sort/Filter Model example illustrates how to perform advanced sorting and filtering in Qt Open
Example: Localization Qt makes localization easy. Internationalization (I18N) example demonstrates Qt's support for translated text Open
Example: Regexps Regular Expressions (RegExp) example shows how regular expressions in Qt are used with strings Open
Example: SQL query Query Model example shows how to make customized versions of data obtained from a SQL query Open
Example: SQL drill-down Drill Down example shows how to read data from a database as well as submit changes Open
Qtexampleapps 1.jpg
Example: Audio output QAudioOutput class provides an interface for sending audio data to an audio output device. Audio output example demonstrates use of this class. Open
Example: Music player Music Player Example shows how to use Phonon - the multimedia framework that comes with Qt - to create a simple music player. Open
Example: Bearer management Bearer Cloud example shows how to use the Bearer Management API to monitor the connectivity state of the local device, i.e. for loading offline content only while WLAN is available Open
Qtexampleapps 4.jpg
Example: Style sheets Style sheets in Qt can be used to modify outlook of UI widgets. Style Sheets example demonstrates use of this feature. Open
Example: Audio input Audio Input example shows how to use QAudioInput class, that provides an interface for receiving audio data from an audio input device. Open
Feature: Embedded widgets Graphics View provides seamless support for embedding any widget into the scene. This makes it possible to combine highly branded UIs and common Qt widgets. Read more
Example: Gradients Gradients Example show how the various types of gradients can be used in Qt. Open
Qtexampleapps 6.jpg
Example: Drag'n'drop icons Drag'n'drop is the basic feature in modern user interfaces. Draggable Icons example shows how to drag and drop image data between widgets in Standard view Open
Example: Drag'n'drop text Draggable Text example shows how to drag and drop textual data between widgets in Standard view Open
Feature: Drag'n'drop Graphics View framework provides drag and drop support for the scene, and for each and every item Read more
Example: Fetch more Fetch More example shows how two add items to an item view model on demand, commonly used by applications with a list view Open
Example: FTP Client FTP Client example demonstrates how Qt can be used to list the available files on an FTP server and download them. Open
Example: P2P chat Network Chat example demonstrates a stateful peer-to-peer Chat client that uses broadcasting with QUdpSocket and QNetworkInterface to discover its peers. Open
Qtexampleapps 8.jpg
Example: Inline-SVG Text Object example shows how to reduce layout work and insert an SVG file (such as status icons, emoticons etc) into a QTextDocument Open
Example: Undo framework Undo Framework example shows how to easily implement advanced undo/redo functionality with the Qt undo framework Open
Feature: QtScript QtScript module provides classes for making Qt applications scriptable. Read more
Example: Qt scripting Qt Scripting example demonstrates how to implement the functionality of a calculator widget Open
Qtexampleapps 10.jpg
Example: Generated icons Qicon class in Qt creates automatically different button states from the given image object. Widget Icons example demonstrates how to use this great feature. Open
Class: Grid layout QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View Read more
Feature: Painter rotate Adjusting coordinate system on-the-fly makes drawing of custom layouts easier in some cases. QPainter's rotate functionality rotates the coordinate system the given angle clockwise. [1]

The sketches were created with [Balsamiq Mockups].

How to Proceed with Porting

To proceed with porting, the following guides are recommended (part of this "Porting mobile application to Qt" article series):

Copyright © 2010 Nokia Corporation. All rights reserved. Nokia, Nokia Developer, and Maemo are registered trademarks of Nokia Corporation. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. Apple, iPhone, iPod and MacBook are trademarks or registered trademarks of Apple Inc. Android is a trademark of Google Inc. Other product and company names mentioned herein may be trademarks or trade names of their respective owners.

This page was last modified on 30 April 2013, at 05:22.
100 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.