The Qt framework provides a number of useful objects and macros to make programming in C++ easier and higher level. C++ standard library functions and headers can still be used. The easiest way to take advantage of these features is to use Qt Creator, its templates, and autocomplete function. Qt provides a special macro, Q_OBJECT, which defines additional functionality such as signals and slots. The Qt library also has linked lists, enumerables, foreach loops, cross-platform GUI tools, and more features expected of a modern high-level language. Reach provides Version 4.8 of the Qt framework.
Qt uses standard C++ but makes extensive use of a special code generator called the Meta Object Compiler (MOC) together with several macros to enrich the language. Qt can also be used in several other programming languages via language bindings. It runs on the major desktop platforms and some of the mobile platforms. It has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform application programming interface (API) for file handling.
Qt is available under a commercial license, GPL v3, and LGPL v2. All editions support many compilers, including the GCC C++ compiler and the Visual Studio suite. Qt is developed by Digia, who owns the Qt trademark, and the Qt Project under open governance, involving individual developers and firms working to advance Qt. Before the launch of the Qt Project, it was produced by Nokia’s Qt Development Frameworks division, which came into existence after Nokia’s acquisition of the Norwegian company Trolltech, the original producer of Qt. In February 2011 Nokia announced its decision to drop Symbian technologies and base their future smartphones on Microsoft platform instead. One month later Nokia announced the sale of Qt’s commercial licensing and professional services to Digia, with the immediate goal of taking Qt support to Android, iOS and Windows 8 platforms, and to continue focusing on desktop and embedded development, although Nokia was to remain the main development force behind the framework at that time.
It is highly recommended that development is done on the SD Card, and not the NAND memory. If the file system on the NAND is broken, the NAND will have to be flashed. It is much easier to copy the application to the SD Card than to flash the NAND.
Signals and Slots
Qt provides extensions to C++ such as signals and slots. Signals and slots are similar to events, but any QObject can receive a signal from another QObject. QObjects can also send signals to themselves. Qt has more information about signals and slots.
Compiling without Qt Creator
It is easy to compile Qt programs without Qt creator. Download this Python script to automate the process. First, run the following commands:
$ make -project
Then, for each .ui User Interface file, run a command similar to this:
$ uic file.ui -o ui_file.cpp
Then run make: