{{tag>programmation}}
----
{{ https://cdn.icon-icons.com/icons2/1381/PNG/512/qt_94938.png?80}}
====== Qt ======
[[wpfr>Qt|Qt]] (prononcé officiellement en anglais cute (/kjuːt/) mais prononcé Q.T. en français) est un framework orienté objet et développé en C++ par Qt Development Frameworks, filiale de Digia (après rachat à Nokia). \\
Il offre des composants d'interface graphique (widgets), d'accès aux données, de connexions réseaux, de gestion des fils d'exécution, d'analyse XML, etc. \\
Qt est par certains aspects un framework lorsqu'on l'utilise pour concevoir des interfaces graphiques ou que l'on base l'architecture de son application en utilisant les mécanismes des signaux et slots par exemple.
Qt est notamment connu pour être la bibliothèque sur laquelle repose l'environnement graphique KDE, l'un des environnements de bureau les plus utilisés dans le monde Linux.
Ce framework est sous double licence jusqu'à sa version 4.5: GNU GPL pour les applications au code source ouvert, licence payante pour les applications propriétaires. Les versions 4.5/4.6/4.7, de Qt sont disponibles sous licence LGPL, Cette nouvelle licence permet ainsi des développements de logiciels propriétaires, sans nécessiter l'achat d'une licence commerciale auprès de Qt Development Frameworks..
===== Installation du framework =====
Pour installer Qt avec l'ensemble des outils de développement (Qt Creator, Qt Designer, QtLinguist et QtAssistant), installez le sdk :
* Soit en passant par le gestionnaire de logiciels en recherchant "qt sdk"
* Soit en ligne de commande : sudo apt-get install qt5-default
* Soit avec le lien apt : **[[apt>qt-sdk]]**
Pour installer le framwork Qt, il faut installer le paquet [[apt://libqt4-dev|libqt4-dev]] (dans les dépôts canonical).
Pour régler certains problèmes de compatibilité vous pouvez télécharger la dernière version (ou juste le framework) [[http://qt-project.org/downloads|sur le site officiel]].
Rendre le .bin exécutable, clic droit -> Propriétés -> Onglet Permissions -> Cocher "Autoriser l’exécution du fichier comme un programme" ou :
chmod u+x qt-sdk-linux-x86-opensource-2009.01.bin
Exécuter le bin, lancer dans un terminal :
./qt-sdk-linux-x86-opensource-2009.01.bin
Si la fenêtre d'installation ralentit considérablement votre système, lancer dans un terminal : ./qt-sdk-linux-x86-opensource-2009.01.bin -style cleanlooks
Si vous rencontrez un message vous disant d'installer un compilateur C++, installer le paquet [[apt://g++|g++]].
===== Installation du framework par les sources =====
- apt-get install tofrodos build-essential
- cd ~/votre_rep/Qt-everywhere-opensource-4.6.3/
- dos2unix configure
- chmod 755 configure
- ./configure
- make
- sudo make install
- export PATH=$PATH:/usr/local/TrollTech/Qt-4.6.3/bin/ # a mettre dans votre .bashrc pour ne pas le refaire a chaque utilisation
===== Installation de Qt-Mobility =====
Qt-Mobility est une librairie qui permet le développement d'application mobile (gestion du GPS, gestion de contacts, gestion de l'appareil photo, mais aussi gestion son vidéo cross-plateforme : linux, symbian, maemo, windows...)
- Télécharger QtMobility sur le site de Qt (ici 1.0.2 fonctionnant avec Qt.4.6.3)
- tar -xf qt-mobility-opensource-src-10.2.tar.gz #décompression de l'archive
- cd qt-mobility-opensource-src-10.2/
- dos2unix configure #permet de palier à un bug de Qt : fichier de conf encodé pour windows :-(
- chmod 755 configure
- ./configure -examples #important !
- make
- sudo make install
Enjoy !
===== Compilations de programmes Qt =====
La méthode générale pour compiler un programme créé avec le framework Qt est
qmake -project
Cette commande sert à générer un fichier de projet (.pro). Si vous avez téléchargé un programme à compiler, il y a de fortes chances pour qu'un fichier .pro soit présent et que cette commande ne soit pas nécessaire
qmake-qt4 nomDuProjet.pro
make
ajouter à la fin du Makefile, au niveau des cibles install et uninstall:
####### Install
install: FORCE
uninstall:
$(DEL_FILE) $(DESTDIR)/usr/bin/nomDuProjet
FORCE:
if test ! -d $(DESTDIR)/usr/bin ;then $(MKDIR) $(DESTDIR)/usr/bin; fi
$(INSTALL_PROGRAM) nomDuProjet $(DESTDIR)/usr/bin
pour ensuite installer et désinstaller:
sudo make install
sudo make uninstall
pour installer dans un chemin spécifique, la commande sudo n'est pas nécessaire si le chemin est dans le dossier personnel:
make DESTDIR=/un/chemin install
pour le vérier, on pourra utiliser la commande find:
find /un/chemin
==== IDE ====
Bien que ceux-ci ne soient pas indispensables il existe de très bons IDE pour développer avec Qt.
=== QtCreator ===
[[qt-creator|QtCreator]] est l'IDE directement proposé par Nokia réalisé lui même en Qt, il comprend les fonctionnalités classiques : la coloration syntaxique, l'indentation, la complétion...\\
Dans precise pangolin l'installation de **[[apt>qtcreator|QT Creator]]** (paquet qtcreator) installe en même temps **QT 4 Designer, QT 4 Assistant, QT 4 Linguist** en version 4.0.8.
=== Eclipse ===
Un plugin d'intégration dans l'IDE Eclipse est fourni depuis la version Qt4.2.
[[http://qt.nokia.com/developer/eclipse-integration|Ce plugin peut être trouvé ici]]
===== Outils de développement =====
Pour développer avec le framework Qt, plusieurs programmes sont très utiles.
==== Qt designer ====
Ce programme permet de réaliser simplement vos fenêtres grâce à une application graphique. Les fichiers .ui générés pourront ensuite être intégrés à vos programmes utilisant Qt. Pour l'installer, il faut installer le paquet [[apt://qt4-designer|qt4-designer]] pour Qt4, et [[apt://qttools5-dev-tools|Qt5 dev tools]] pour Qt5.
{{:Qt-Designer.png|}}
==== Qt assistant ====
Il s'agit d'un programme permettant de consulter la documentation de Qt hors ligne. Pour l'installer, il faut installer le paquet [[apt://libqt4-assistant]].
{{:Qt-Assistant.png|}}
===== Voir aussi =====
* **(en)** [[https://www.qt.io/|Site officiel]]
* **(en)** [[https://www.qt.io/developers/|Documentation officielle]]
* **(en)** [[http://www.qtrac.eu/marksummerfield.html|Site d'un auteur de livres sur la programmation en Qt4 et Qt3]]
* **(fr)** [[http://fr.openclassrooms.com/informatique/cours/programmez-avec-le-langage-c|Programmez avec le langage C++]], sur OpenClassrooms (anciennement Site du Zéro)
* **(fr)** [[https://qt.developpez.com/|Club des développeurs Qt]] sur Développez.com
* **(fr)** [[http://www.qtfr.org/|La communauté francophone Qt fr]]
* **(en)** [[https://wiki.qt.io/QtWebEngine/How_to_Try|QtWebEngine]]
----
//Contributeurs : [[utilisateurs:geenux|Geenux]]//