123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- Qt Quick: Playground Example v1.4.1
- ===================================
- This QML application demonstrates the features of Qt Quick with a set of demos
- and the possibility to view the source code of the demos. Each demo shows
- different Qt Quick features. The application is compatible with Maemo devices,
- Symbian^1, Symbian Anna, MeeGo 1.2 Harmattan devices, and Windows desktop.
- FILES
- -------------------------------------------------------------------------------
- src/main.cpp
- - The main file of the application. Creates QDeclarativeEngine and
- QDeclarativeView, sets the view to landscape, and starts demochooser.qml.
- src/qmlcodeprovider.cpp
- - Implementation of Qt class. Reads / writes a text file and provides the
- contents of the text file to the QML code.
- demochooser.qml
- - The main screen of the QtQuickPlayground application. Gives the parameters
- of each demo to demoitem.qml.
- content/demoitem.qml
- - Contains the graphic elements of the demo; the skin, text editor, and
- buttons. Handles the states and transitions when starting / closing /
- entering the code editor.
- content/demoitemcore.js
- - The JavaScript file that contains the code to dynamically load / unload the
- selected demo.
- content/texteditor.qml
- - TextEditor component, implements the code editor.
- content/dialog.qml
- - Dialog component which is used to show the error strings and to access the
- code editor to view the place in the code where the error is.
- content/sidepanel.qml
- - Side panel component, consists mostly of back and code editor buttons.
- content/fancypicker/*
- - Implementation of the FancyPicker demo.
- content/helloworld/*
- - Implementation of the HelloWorld demo.
- content/memorygame/*
- - Implementation of the MemoryGame demo.
- content/slideshow/*
- - Implementation of the SlideShow demo.
- content/webcontent/*
- - Implementation of the WebContent demo.
- qtc_packaging/
- - The directory which contains files related to Debian (Maemo and Harmattan)
- packaging.
- bin/
- - The compiled binaries for each platform.
- CLASSES AND ELEMENTS USED
- -------------------------------------------------------------------------------
- The most unusual Qt classes and QML elements are listed here.
- Qt classes
- ~~~~~~~~~~
- QDeclarativeView - used to interpret QML files.
- QGLWidget - used to paint the QDeclarativeView with Qt OpenGL.
- QDBusConnection - used to send a DBUS message in Maemo to minimise the
- application.
-
- QML elements
- ~~~~~~~~~~~~
- Grid - used to position the demos in the demo selector screen.
- TextEdit - used to implement the code editor.
- TextInput - used to implement the text input field in the WebContent
- demo.
- Flickable - used to implement the FancyPicker image viewing area and
- the panning feature of the code editor.
- WebView - used to implement the WebContent demo's web browser.
- Particles - used to implement the snow flakes.
- ListModel - used to implement the slide content for the SlideShow
- demo.
- ListView - used to implement the look of the slides of the SlideShow
- demo.
- StateChangeScript - used to run scripts in the state changes.
- ParentChange - used to change the parent of the demo when one of the
- demos is started.
- KNOWN ISSUES
- -------------------------------------------------------------------------------
- - The performance could be better (mostly in Symbian) due to the fact that
- each demo has several hidden graphic elements (code editor).
-
- - There are issues with the virtual keyboard (VKB) on Harmattan. The
- texts inputted must be "committed" by the Done button of the VKB in order the
- software to see the inputted text.
- DESIGN CONSIDERATIONS
- -------------------------------------------------------------------------------
- - There should be only one code editor in this application. Currently each
- demo has its own code editor, which consumes memory and resources.
-
- BUILD & INSTALLATION INSTRUCTIONS
- -------------------------------------------------------------------------------
- Preparations
- ~~~~~~~~~~~~
- Check that you have the latest Qt/Qt SDK installed in the development
- environment and on the device.
- Build & installation instructions using Qt SDK
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 1. Open the Qt PRO file.
- File > Open File or Project, select pro-file.
- 2. Select target(s), for example 'Qt 4.7.4 for Symbian Anna (Qt SDK)', and
- press the Finish button.
- 3. Press the Run button to build the project and create the Symbian install
- package. The application is installed on the device.
- RUNNING THE APPLICATION
- -------------------------------------------------------------------------------
- Launch QtQuickPlayground on your device. The main window is loaded showing a
- set of six Qt Quick demos.
- You can start each demo by tapping the demo icon on the screen. The demo icon
- will scale to full screen and the actual demo is loaded dynamically. All demos
- have a sidepanel on the right side, allowing you to go back to the main
- screen or to open the code editor of the demo. You can also access the
- code editor by peeling the skin off the demo on the demo’s main screen by
- moving a finger diagonally from the bottom right corner towards the top left
- corner.
- In the code editor, you can examine the code of the demo. You can scroll the
- code editor by dragging a finger on top of the code in the browse state. The
- browse state can be changed to edit state with the Browse button on the top.
- In the edit state, code cannot be scrolled but you can edit the code with the
- device’s keyboard. To scroll the code, change the state back to the browse
- state. After editing the code, you might want to try and see how the editing
- affected the demo. The demo can be started from the Try Demo button in the
- bottom right corner. If there are error(s) in the code, an error dialogue is
- shown, and by clicking the dialogue you can go back to the editor to see
- what’s wrong.
- Each demo can be closed from the Back button in the top right corner, which
- brings you back to the main screen of the application. The application is
- closed from the X button on the upper right corner of the main screen.
- Note: Every time the QtQuickPlayground application is started, the code of
- each demo will revert to its original state destroying all the code changes
- you may have done.
- COMPATIBILITY
- -------------------------------------------------------------------------------
- - Qt SDK 1.1.4
- - Qt Mobility 1.2.1
- - Symbian Anna with Qt 4.7.4
- - Symbian^1 with Qt 4.7.4
- - MeeGo 1.2 Harmattan
- - Maemo 5
- - Windows desktop
-
- Tested on:
- - Nokia 5800 XpressMusic
- - Nokia N97
- - Nokia N8-00
- - Nokia E7-00
- - Nokia N900
- - Nokia N950
- - Windows 7
- VERSION HISTORY
- -------------------------------------------------------------------------------
- 1.4.1 Added support for VKB on Symbian and Harmattan.
- 1.4 Added MeeGo 1.2 Harmattan support.
- 1.3 Added S60 5th Edition (Symbian^1) support. Compatibility with Qt 4.7.1.
- 1.2 Added Qt OpenGL support. Fixed the WebContent demo to work on Symbian
- devices. Compatibility with public Qt 4.7.0. Published in FN Projects only.
- 1.1 Updated the software to work with Qt 4.7.0 RC in Symbian, Maemo, and
- Windows desktop. Published in FN Projects only.
- 1.0 Initial version. Published in FN Projects only.
|