Qt is
a cross-platform application framework that is widely used for
developing application software with a graphical user interface
(GUI) (in which cases Qt is classified as awidget toolkit), and
also used for developing non-GUI programs such ascommand-line tools and
consoles for servers.
Qt uses standard C++ but makes
extensive use of a special code generator (called the Meta Object
Compiler, or 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.
Applications
of the Qt framework
Qt is available under 3 different
licensing, the GNU LGPL v 2.1, GUN GPL v.3.0, and the Qt Commercial Developer
License. The Qt framework is used by other widely used softwares, such as VLC
media player, Virtualbox, KDE, etc. As users today uses a variety of different
platforms, it is important that developers can have a GUI front that can be run
in most OS environment and it is easy to implement, and it interfaces well with
the existing language they are using to build the back end of the software
without or with little overhead. This is where the Qt framework comes into
play.
Because it has a wide range of language
bindings, including but not limited to C++, C# and .NET, Java, Perl, PHP, and
Python, you can use the Qt framework with most common programming and scripting
languages. The most noticeable ones are the KDE desktop environment, and the
Nokia N900 interface. Since Nokia purchased the company that developed Qt,
their recent product (came out in Dec 2009) N900's user interface is built
using the Qt Creator, which is the IDE for Qt framework. Though the sell of
N900 is not as high as expected, and the touch screen feature was not as smooth
as Apple products, its multi-tasking feature was more advanced compared to the
iOS at that time and since it is open source, there is no “development fee”
which makes it accessible to every programmer. The KDE desktop environment have
been around since 1996, and the founder Matthias Ettrich chose Qt from the
start, and still using Qt to this date.
Technology
of Qt framework
As Qt is build on C++, it inherited most
of the features of C++, like Objective Oriented Concepts, Modeling etc, but it
also used special code generator, QML which is an easy to use declarative
language. And with integration of the open source WebKit rendering engine into
Qt, it is easier to create web-enabled applications.
Implementation
As Qt is based on C++, it can be easily
ported on to different platforms, such as Embedded Linux, Max OS X, Windows,
Linux/X11, WindowsCE, Symbian, and MeeGo. Since it is open source, it is free
to use, and with a different user communities, finding tutorials and the books
you need would only take less than a day. The Qt framework for embedded Linux
also comes with its own window system, which writes directly to the Linux
framebuffer, eliminating the need for the X11 windowing system. The Qt also
comes with different IDE other than its own. It has support for Eclipse, Visual
Studio, Netbean. User can choose the IDE or their choice and still use Qt for
their application development.
Design
Modules
- Modules for general software development
- QtCore – contains core non-GUI classes, including the event loop and Qt's signal and slot mechanism, platform independent abstractions for Unicode, threads, mapped files, shared memory, regular expressions, and user and application settings
- QtGui – contains most GUI classes; including many table, tree and list classes based on model–view–controller design pattern; also provides sophisticated 2D canvas widget able to store thousands of items including ordinary widgets
- QtMultimedia – implements low-level multimedia functionality
- QtNetwork – contains classes for writing UDP and TCP clients and servers; implementing FTP and HTTP clients, supportingDNS lookups; network events are integrated with the event loop making it very easy to develop networked applications
- QtOpenGL – contains classes that enable the use of OpenGL in rendering 3D graphics
- QtOpenVG – a plugin that provides support for OpenVG painting
- QtScript – an ECMAScript-based scripting engine
- QtScriptTools – provides added components for applications using QtScript
- QtSql – contains classes that integrate with open-source and proprietary SQL databases. It includes editable data models for database tables that can be used with GUI classes. It also includes an implementation of SQLite
- QtSvg – contains classes for displaying the contents of SVG files. It supports the static features of SVG 1.2 Tiny
- QtWebKit – provides a WebKit-based layout engine as well as classes to render and interact with web content
- QtXml – implements SAX and DOM interfaces to Qt's XML parser
- QtXmlPatterns – provides support for XPath, XQuery, XSLT and XML Schema validation
- Phonon – multimedia API, provides simple multimedia control
- Qt3Support – provides classes that ease porting from Qt 3 to Qt 4
- Qt Declarative module is a declarative framework for building fluid user interfaces in QML
- Modules for working with Qt's tools
- QtDesigner
- QtUiTools
- QtHelp
- QtTest
- Modules for Unix developers
- QtDBus – a library to perform inter-process communication via D-Bus protocol
- Modules for Windows developers
- QAxContainer – an extension for accessing ActiveX controls and COM objects
- QAxServer – a static library to turn a standard Qt binary into a COM server
Welcome to Wiztech Automation - Embedded System Training in Chennai. We have knowledgeable Team for Embedded Courses handling and we also are after job placements offer provide once your successful completion of Course We are Providing on Microcontrollers such as 8051, PIC , AVR, ARM7, ARM9, ARM11 and RTOS. Free Accommodation, Individual Focus, Best Lab facilities, 100% Practical Training and Job opportunities.
ReplyDelete✔Embedded System Training in chennai
✔Embedded System Training Institute in chennai
✔Embedded Training in chennai
✔Best Embedded System Training in chennai
✔Embedded System Training in chennai
✔Best Embedded System Training Institutes in chennai
Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
ReplyDeleteMatlab Training in Chennai