Qt includes an intuitive API and an intuitive C++ class library with a rich set of application build blocks for C++ development. Qt goes beyond C++ in the areas of inter-object communication and flexibility for advanced GUI development.
The standard C++ object model provides very efficient runtime support for the object paradigm, however its static nature is inflexible in some respects. By combining the speed of C++ with the flexibility of the Qt Object Model, Qt provides both runtime efficiency and a high level of flexibility for GUI programming. Qt goes beyond C++ to add the following features:
A very powerful mechanism for seamless object communication called signals and slots
Queryable and designable object properties
Powerful events and event filters
Contextual string translation for internationalization
Sophisticated interval driven timers that make it possible to elegantly integrate many tasks in an event-driven GUI
Hierarchical and queryable object trees that organize object ownership in a natural way
Guarded pointers (QPointer) that are automatically set to 0 when the referenced object is destroyed
A dynamic cast that works across library boundaries
Qt Software announced in October the porting of Qt to S60 on Symbian OS(TM), the world's leading, open smartphone platform.
An early technical preview of Qt for S60 is available for download from Qt Software current website www.trolltech.com. This is in line with Qt Software's usual approach of developing Qt openly and working with the community to incorporate feedback throughout the entire development process. Qt on S60 will work with S60 3rd Edition Feature Pack 1 and later releases. The first production release of Qt for S60 will be available in the second quarter of 2009.
With the inclusion of the S60 platform, developers have an additional 80 million target devices that they can support with their Qt-based applications.
The contents of a project are described in a project file that is the master file of the project. Generally it lists the source and header files, configuration information, and application-specific details (such as libraries and include paths).
A default project file can be generated from known extension (.h, .cpp, .ui etc) using the command
Qt’s .pro files are the master files used in Qt/S60. Symbian build files are generated by the qmake command and should never be manually edited.
Building a Qt application on the S60 platform differs from building an S60 application only at the beginning of the toolchain . We intend to provide a wrapper makefile as well as part of coming releases.
All platform security rules also apply for Qt applications in the S60 environment. Because Qt is mainly ported on top of Open C, the required capabilities are also derived from those APIs. Platform security requires that needed capabilities be defined in the project file. The Qt application may require, for example, the following capabilities:
AllFiles, when using file operations and accessing protected folders
NetworkServices should be enough in most cases when using the QtNetwork module, but there might be certain API calls that also require NetworkControl.
When using Symbian APIs the capabilities needed are, of course, the ones that the APIs define.