Qt (library)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Relationship between Qt and other libraries

Qt is a cross-platform object-oriented framework widely used to develop programs (software) that use a graphical user interface, as well as different types of command line tools and server consoles that they do not need a graphical user interface.

Qt is developed as free and open source software through the Qt Project, involving the community as well as developers from Nokia, Digia and other companies. Previously, it was developed by Nokia's Qt software division, which came into effect after Nokia's acquisition of the Norwegian company Trolltech, the original producer of Qt, on June 17, 2008. Qt is distributed under the terms of the GNU Lesser General Public License and others. On the other hand, Digia is in charge of Qt commercial licenses since March 2011.

Qt is used in KDE Plasma, a desktop environment for systems like GNU/Linux or FreeBSD, among others.

Purposes and characteristics

Qt uses the C++ programming language natively, additionally it can be used in several other programming languages through bindings. It is also used in embedded computer systems for automotive, air navigation and household appliances such as refrigerators.

It works on all major platforms and is widely supported. The library's API features methods for accessing databases using SQL, as well as XML usage, thread management, networking support, a unified cross-platform API for file manipulation, and a host of other methods for handling files. files, in addition to traditional data structures.

History

It was initially developed by Haavard Nord (CEO of Trolltech) and Eirik Chambe-Eng (President of Trolltech). Haavard and Eirik met at the Norwegian Institute of Technology in Trondheim, where they both graduated with a master's degree in computer science. The toolkit was named Qt because the letter Q looked attractive in the Emacs font which Haavard used extensively in his work, and "t" was inspired by Xt, the X Toolkit "X Tool kit".

Initially Qt appeared as a library developed by Trolltech (at that time «Quasar Technologies») in 1992 following a development based on open source, but not completely free. It originally allowed closed software development through the purchase of a commercial license, or free software development using the Free Qt license. The latter was not a real free software license since it did not allow redistribution of modified versions of Qt.

It was actively used in the development of the KDE desktop (between 1996 and 1998), with notable success and rapid expansion, on its way to becoming one of the most popular GNU/Linux desktops.

This fact caused concern from the GNU project, since they saw it as a threat to free software that one of the most widely used free desktops was supported by proprietary software. To counteract this situation, two ambitious initiatives were proposed: on the one hand, in 1997 the GNU team began developing the GNOME desktop environment with GTK+ for GNU/Linux. On the other hand, an attempt was made to make a library compatible with Qt but totally free, called Harmony.

In 1998 KDE developers met with Trolltech to establish the KDE Free Qt Foundation, which stated that if Trolltech stopped developing the free and semi-free version of Qt the Foundation itself could release the latest released version of the Qt library under a BSD-like license

With version 2.0 it was changed to the Q Public License, considered open source. This change was intended to silence criticism of Qt and KDE that it was not free software. However, QPL was not compatible with the GPL license used by KDE, so there were voices claiming that you were violating the GPL license by mixing QPL software (the Qt library) with GPL software (KDE).

On September 4, 2000, Trolltech began offering the Qt library in its version 2.1 under the GPL license in its version for Linux. The Mac OS X version was not released under the GPL until June 2003, while the Windows version was released under the GPL in June 2005.

On January 18, 2008, Trolltech announced that it would also offer Qt under the GPL v3 license.

In June 2008, Nokia acquired Trolltech, to develop desktop and mobile applications. The latter was integrated into Nokia as "Qt Software".

On January 14, 2009, Nokia announced that Qt v4.5 would be additionally licensed under the LGPL 2.1 license, with the tagline "Qt Everywhere".

Nokia announced that it will stop development on Symbian to use Microsoft's platform for its smartphones in February 2011.

On August 9, 2012, Digia announced an agreement with Nokia for the acquisition of Qt. Some of Digia's plans are the development of Qt for Android, iOS and Windows 8.

Qt currently has a triple license system: GPL v2/v3 for the development of open source and free software, the QPL paid license for the development of commercial applications, and from version 4.5 a free license intended for commercial applications, LGPL.

Platforms

Qt is available for Unix-like systems with the X Window System graphical server (Linux, BSDs, Unix), for Apple Mac OS X, for Microsoft Windows systems, for Embedded Linux), for embedded systems such as PDA, Smartphone, etc. and for devices using Windows CE

Qt Software announced on October 20, 2008 a version of Qt for the S60 platform.

In addition, QSA (Qt Scripts for Applications) is also available, which, based on ECMAScript/JavaScript, allows you to enter and create scripts in applications created with Qt.

There are three editions of Qt available on each of these platforms, called:

  • GUI Framework – small-level edition of GUI, targeting networks and databases.
  • Full Framework – full commercial edition
  • Open Source – full edition Open Source

Bindings

Qt has a series of bindings for various programming languages:

  • PyQt – Bindings GPL/Comercial for Python.
  • PySide – LGPL bindings for Python of OpenBossa (subsidiary of Nokia).
  • PythonQt – LGPL bindings for Python.
  • Qyoto – Bindings for C# or other languages.NET. There is an additional Kimono binding set for KDE.
  • QtRuby – Bindings for Ruby. There is an additional set of bindings, Korundum for KDE.
  • Qt Jambi – Bindings for Java.
  • QtAda – Bindings for Ada.
  • FreePascal Qt4 – Bindings for Pascal.
  • Perl Qt4 – Bindings for Perl.
  • PHP-Qt – Bindings for PHP.
  • Qt Haskell – Bindings for Haskell.
  • lqt – Bindings for Lua.
  • DaoQt – Bindings for Dao.
  • QtD – Binding for D.

Programming example

Another example of the programme Hello, World!.

The following is an example using Qt of the popular Hello World! program, where a window is created with a label (QLabel) displaying the text Hello World!.

****# Include ΔQtGui/QApplication# Include ΔQtGui/QLabelint main(int argc, Char argv[]{ QApplication app(argc, argv); QLabel label( QString::fromUtf8("Hello World!") ); label.show(); return app.exec();!


Compilation and implementation

1. The Hello
folder is created. 2. The file Hello.cpp is created in the Hello
folder 3. In a terminal emulator, go down to the Hello folder and run:

(a) qmake -project
(b) qmake
(c) make/gmake/nmake - according to the operating system or compilation

4. To run the program:

(d) ./release/Hola (in Windows: releaseHola.exe)

Uses

Organizations using Qt

Due to its simplicity, robustness, native performance, cross-platform compatibility, and both open source and commercial licenses; many organizations in many parts of the world use Qt. These include, but are not limited to: European Space Agency, DreamWorks, Lucasfilm, Panasonic, Philips, Samsung, Siemens AG, Volvo, Walt Disney Animation Studios, Blizzard Entertainment, Electronic Arts, AMD, Research In Motion, HP.

Applications written in Qt

Examples of applications that use Qt are: Autodesk Maya, Mathematica, Google Earth, the RStudio IDE, Spotify for Linux, the VirtualBox virtual machine, VLC media player, and AMD Radeon Software Crimson Edition.

  • Adobe Photoshop Album, application to organize images.
  • Avidemux, free program for video editing and processing.
  • Doxygen, documentation-generating API.
  • Gadu-Gadu, popular Polish instant messaging client.
  • KDE, popular desktop environment for Unix type operating systems.
    • KDE Frameworks, a base library for many KDE applications, including Amarok, K3b, KDevelop, Calligra Suite among others.
  • Last.fm Player, the desktop client for the popular music and radio community online.
  • Launchy, open source program to run applications for Windows.
  • LMMS, music sequencer and synthesizer.
  • LyX, a GUI for LaTeX.
  • Mathematica, the Linux version uses Qt for the GUI.
  • MythTV, open source digital video recorder.
  • Neural Designer, application for data mining.
  • Psi, instant messaging client for XMPP.
  • Quantum GIS, Geographic Information System.
  • RealFlow, Fluid Simulation Tool.
  • Scribus, app for desktop publishing.
  • Skype, VOIP app.
  • TeamSpeak, multi-platform application for voice communication.
  • Tlen.pl, popular Polish instant messaging client.
  • TOra, tool for database management.
  • sMovieDB, film cataloger/gestor.
  • Pandectas, application for drawing on digital board.

Contenido relacionado

ARM architecture

ARM, formerly Advanced RISC Machine, originally Acorn RISC Machines, is a RISC architecture of 32 bits and, with the arrival of its version V8-A, also of 64...

Forth

Forth or FORTH is a programming language and programming environment for computers devised by Charles H. Moore between 1965 and 1970 at the National Radio...

IP adress

The IP address is a numeric label that identifies, in a logical and hierarchical way, a network interface of a device or that corresponds to the network layer...
Más resultados...
Tamaño del texto:
Copiar