Qt Framework
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.
Development Filesystem
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 $ qmake
Then, for each .ui User Interface file, run a command similar to this:
$ uic file.ui -o ui_file.cpp
Then run make:
$ make
Resources
- Qt has excellent online documentation. Much of this documentation is also available from Qt Creator. When in doubt, search the web for the class name.
- Qt’s introduction to signals and slots.
- A very thorough post about debugging signals and slots.
Embedded Touchscreens Made Easy:
Up in Days, Smoothly to Production. Get started with a Development Kit.
Reach Technology is now a part of Novanta.
Sales and Engineering
545 First Street
Lake Oswego, OR 97034
503-675-6464
sales@reachtech.com
techsupport@reachtech.com
Manufacturing
4600 Campus Place
Mukilteo, WA 98275
service@reachtech.com
Please send payments to:
Novanta Corporation
PO Box 15905
Chicago, IL 60693
accounts.receivable
@novanta.com