Tuesday, 22 July 2014

Applications of the Qt framework in Hyderabad



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 XPathXQueryXSLT 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

2 comments:

  1. 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.

    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

    ReplyDelete
  2. 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.
    Matlab Training in Chennai

    ReplyDelete