Qt

Qt is a software Bibliothèque primarily offering components of graphical interface (Widget S), but also of the components of access to the data, connections networks, of management of the files of execution, analysis XML, etc

It was developed in C++ by the company Trolltech and is available for the environments Unix using X11 (of which Linux), Windows and Mac OS.

Qt uses a wide version C++ language. " bindings " exist in order to be able to use Qt starting from other languages: Python, Ruby, language C, language Perl, Java and Pascal.

Qt and KDE

The graphic project of Environnement KDE has as of the beginning used the Qt library. That was besides the cause of a certain rejection on behalf of the community of the Free software, because at the time Qt was under a license owner, incompatible with LPG used by KDE. This problem was solved by the Trolltech company which put the version Unix/Linux de Qt under license LPG. It is thus under a double license.

Double license

At the beginning, Qt had a license owner, but following the pressures of the free community, Trolltech decided to place its library under a double license:
  • LPG, free for all the free projects (which are by this fact inevitably under license LPG)
  • a paying license (called license commercial ) for the projects whose source code is closed.

This policy of double license is valid for all the systems (Windows, Unix and MacOS) only starting from Qt 4.0. For the previous versions, there does not exist version in LPG for Windows.

Use of Qt

More and more of programmers use Qt, including among large companies. One can in particular quote: Google, Adobe Systems or NASA. The site of Trolltech contains two pages counting the companies using Qt and the applications based on Qt. What makes the principal interest of Qt is that with same the Source code, one can compile his project on the majority of the platforms. Moreover, Qt is delivered with a designer which facilitates the design of graphical interfaces, as well as an assistant who allows to consult official documentation out-line.

Structure

Compilor of meta-objects

The moc (for Meta Object To compile ) is a preprocessor which, applied before compilation to the source code of a Qt program, generates meta-information relating to the classes used in the program. This meta-information is then used by Qt to provide functions nonavailable in C++, like the Signaux and slots and the introspection.

The use of such an additional tool dissociates the Qt programs of standard the C++ language and was criticized by part of the C++ community. In particular, the choice of an establishment based on Macro S.A. criticized for its absence of safety of typing and the pollution of the space of names. This operation is seen by Trolltech like a compromise necessary to provide the introspection and the mechanisms of signals. At the exit of Qt 1.x, the implementations of the Template S by the C++ compilers was not sufficiently homogeneous.

Little stories

Northern Haavard and Eirik Chambe-Eng began the development of " Qt" in 1991. The project was named " Qt" because the character " Q" was pretty in the writing Emacs of Haavard, and the " t" comes from Xt Xtoolkit. The whole deciding in English " cute ", which results in " nice ". " is not pronounced; cutie ", because T being tiny, it is not a Acronyme (QT).

The June 28th 2005, version 4 is published by Trolltech. It improves in particular the engine of returned, separation between data and presentation (by taking example on Java) and more extended management of the Multithreading.

Other libraries general practitioners multi-platforms

References

Random links:Square bacteria of Walsby | Kalmah | County of Nyima | Park Tower | Maurice Vaussard | Telecom_de_Kvatro