IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Qt

De WikiDeveloppez.

(Différences entre les versions)
(Ressources disponibles)
Version actuelle (12 février 2015 à 21:38) (voir la source)
(En Python avec PySide)
 
Qt est un [[framework]] logiciel très complet. Il est prévu pour être simple à utiliser, et multiplateforme. En effet, un code qui fonctionne sur une plateforme fonctionnera sans problème sur toute autre plateforme supportée par Qt.
Qt est un [[framework]] logiciel très complet. Il est prévu pour être simple à utiliser, et multiplateforme. En effet, un code qui fonctionne sur une plateforme fonctionnera sans problème sur toute autre plateforme supportée par Qt.
-
Il est développé en C++, mais peut très bien être utilisé avec [[Python]], grâce à [[PyQt]], ou bien en [[Java]], avec [[Qt Jambi]].
+
Il est développé en C++, mais peut très bien être utilisé avec [[Python]], grâce à [[PyQt]] ou à [[PySide]], ou bien en [[Java]], avec [[Qt Jambi]].
Il est distribué sous plusieurs licences : [[GPL]] (v3), [[LGPL]] (v2.1) et [[QPL]].
Il est distribué sous plusieurs licences : [[GPL]] (v3), [[LGPL]] (v2.1) et [[QPL]].
'''Attention ! Qt n'est pas un sigle ! Il s'écrit avec le ''Q'' majuscule et le ''t'' minuscule. Ceci se prononce ''cute'', l'anglais pour mignon.'''
'''Attention ! Qt n'est pas un sigle ! Il s'écrit avec le ''Q'' majuscule et le ''t'' minuscule. Ceci se prononce ''cute'', l'anglais pour mignon.'''
-
Quelques [[EDI]] sont prévus pour être utilisés avec Qt : [[Monkey Studio]], [[Qt Creator]] par exemple. [[Nokia]] fournit aussi des plug-ins d'intégration à [[Visual Studio]] et à [[Eclipse]].
+
Quelques [[EDI]] sont prévus pour être utilisés avec Qt : [[Qt Creator]] et [[Monkey Studio]], par exemple. [[Nokia]] fournit aussi des plug-ins d'intégration à [[Visual Studio]] et à [[Eclipse]].
Depuis les [[Qt Developer Days]] 2009, [[Nokia]] propose une certification Qt : le ''Qt Essentials Curriculum Block 1.0''. Cette certification concerne les bases du développement avec Qt, mais nécessite une expérience avec Qt.
Depuis les [[Qt Developer Days]] 2009, [[Nokia]] propose une certification Qt : le ''Qt Essentials Curriculum Block 1.0''. Cette certification concerne les bases du développement avec Qt, mais nécessite une expérience avec Qt.
La communauté de Developpez.com vous propose des défis Qt : [http://qt.developpez.com/defis/ Les défis Qt].
La communauté de Developpez.com vous propose des défis Qt : [http://qt.developpez.com/defis/ Les défis Qt].
 +
 +
== Programmes simples avec Qt ==
 +
 +
Ces exemples affichent une fenêtre avec un bouton, sur lequel <tt>Hello world!</tt> est écrit.
 +
 +
=== En C++ ===
 +
 +
<tt>#include <QApplication>
 +
#include <QPushButton>
 +
 
 +
int main(int argc, char *argv[])
 +
{
 +
    QApplication app(argc, argv);
 +
    QPushButton hello("Hello world!");
 +
    hello.show();
 +
    return app.exec();
 +
}</tt>
 +
 +
=== En Python avec PyQt4 ===
 +
 +
<tt>from PyQt4 import QtCore, QtGui
 +
import sys
 +
 
 +
app = QtGui.QApplication(sys.argv)
 +
hello = QtGui.QPushButton("Hello World!", None)
 +
hello.show()
 +
app.exec_()</tt>
 +
 +
=== En Python avec PySide ===
 +
 +
'''Attention''' : depuis début 2015, le projet [http://pyqt.developpez.com/actu/80721/Le-projet-PySide-est-declare-abandonne-en-2015-il-ne-reste-plus-que-PyQt-comme-binding-Python-de-Qt/ PySide est considéré comme mort]. Il est donc préférable de se tourner vers PyQt pour tout nouveau développement (il a notamment été mis à jour pour Qt 5).
 +
 +
<tt>from PySide import QtCore, QtGui
 +
import sys
 +
 
 +
app = QtGui.QApplication(sys.argv)
 +
hello = QtGui.QPushButton("Hello World!", None)
 +
hello.show()
 +
app.exec_()</tt>
 +
 +
=== En C# avec Qyoto ===
 +
 +
<tt>using System;
 +
using Qyoto;
 +
 +
public class HelloWorld
 +
{
 +
    public static int Main(String[] args)
 +
    {
 +
        QApplication app = new QApplication(args);
 +
        QPushButton hello = new QPushButton("Hello world!");
 +
        hello.Show();
 +
        return QApplication.Exec();
 +
    }
 +
}</tt>
 +
 +
=== En Ruby avec QtRuby/Korundum ===
 +
 +
<tt>require 'Qt4'
 +
 
 +
app = Qt::Application.new(ARGV)
 +
 
 +
hello = Qt::PushButton.new('Hello World!')
 +
hello.show
 +
 
 +
app.exec</tt>
== Qt SDK ==
== Qt SDK ==
Ce SDK est disponible pour 4 plateformes :  
Ce SDK est disponible pour 4 plateformes :  
-
* Linux 32 bits (''x86''),
+
* Linux 32 bits (''x86'') ;
-
* Linux 64 bits (''x86_64''),
+
* Linux 64 bits (''x86_64'') ;
-
* Windows,
+
* Windows ;
* Mac OS X.
* Mac OS X.
De nouvelles versions sortent régulièrement, apportant les dernières modifications apportées à Qt et à [[Qt Creator]].  
De nouvelles versions sortent régulièrement, apportant les dernières modifications apportées à Qt et à [[Qt Creator]].  
-
La dernière version en date, la 2009.5, a apporté [[Qt Creator]] 1.3 et Qt 4.6.0. Elle est sortie le 1e décembre 2009. Elle avait été précédée par une RC 1, le 17 novembre 2009, avec les dernières versions de développement sorties à cette date.
+
=== Historique ===
 +
 
 +
La version 2009.5 a apporté [[Qt Creator]] 1.3 et Qt 4.6.0. Elle est sortie le 1e décembre 2009. Elle avait été précédée par une RC 1, le 17 novembre 2009, avec les dernières versions de développement sorties à cette date.
 +
 
 +
La dernière en date est la 2010.4.
 +
 
 +
== Quelles sont les options pour créer une interface graphiques ? ==
 +
 
 +
Trois techniques sont actuellement possibles, sans oublier qu'elles peuvent être combinées :
 +
* [[Qt Designer]], qui crée des fichiers [[XML]] décrivant l'interface, édition graphique ;
 +
* le code, directement en C++, en utilisant les classes de widgets ;
 +
* [[Qt Quick]], une description déclarative des interfaces, édition graphique ou textuelle.  
== Modules ==
== Modules ==
* Phonon (à partir de Qt 4.4)
* Phonon (à partir de Qt 4.4)
* QtScriptTools (à partir de Qt 4.5)
* QtScriptTools (à partir de Qt 4.5)
 +
* QtMultimedia (à partir de Qt 4.6)
 +
* QtDeclarative (à partir de Qt 4.7)
-
À ceux-ci s'ajoutent deux modules pour l'ActiveX.
+
À ceux-ci s'ajoutent deux modules pour l'ActiveX :
* QAxContainer
* QAxContainer
=== QtDBus ===
=== QtDBus ===
Il s'agit d'un ensemble de classes qui facilitent les échanges entre les processus grâce à un démon [[DBus]] (originalement prévu pour [[UNIX]], il a été porté pour [[Windows]] par l'équipe [[KDE]]).
Il s'agit d'un ensemble de classes qui facilitent les échanges entre les processus grâce à un démon [[DBus]] (originalement prévu pour [[UNIX]], il a été porté pour [[Windows]] par l'équipe [[KDE]]).
 +
 +
=== QtMultimedia ===
 +
 +
Il s'agit d'un ensemble de classes apportant des fonctionnalités multimédia à vos applications.
 +
 +
=== QtDeclarative ===
 +
 +
Il s'agit du module qui fait le lien entre [[Qt Quick]] et votre code [[C++]].
=== QtScript ===
=== QtScript ===
L'outil de génération : il automatise les appels aux outils de compilation requis. Il n'est pas limité à Qt : vous pouvez l'utiliser pour compiler toute sorte de projets, y compris des projets qui n'utilisent pas Qt.
L'outil de génération : il automatise les appels aux outils de compilation requis. Il n'est pas limité à Qt : vous pouvez l'utiliser pour compiler toute sorte de projets, y compris des projets qui n'utilisent pas Qt.
 +
 +
== Les certifications Qt ==
== Les certifications Qt ==
[http://qt.developpez.com La rubrique Qt] de [http://www.developpez.com Developpez.com] vous propose quelques ressources pour faciliter votre utilisation de Qt.
[http://qt.developpez.com La rubrique Qt] de [http://www.developpez.com Developpez.com] vous propose quelques ressources pour faciliter votre utilisation de Qt.
-
* {{fr}} [http://qt.developpez.com La FAQ Qt],
+
* {{fr}} [http://qt.developpez.com la FAQ Qt] ;
-
* {{fr}} [http://www.developpez.net/forums/f376/c-cpp/bibliotheques/qt/ Le forum d'entraide Qt],
+
* {{fr}} [http://www.developpez.net/forums/f376/c-cpp/bibliotheques/qt/ les forums d'entraide Qt] ;
-
* {{fr}} [http://qt.developpez.com/ Les dernières actualités sur Qt],
+
* {{fr}} [http://qt.developpez.com/ les dernières actualités sur Qt] ;
-
* {{fr}} [http://qt.developpez.com/tutoriels/ Des tutoriels et articles Qt],
+
* {{fr}} [http://qt.developpez.com/tutoriels/ des tutoriels et articles Qt] ;
-
* {{fr}} [http://qt.developpez.com/outils/ Des outils destinés à Qt],
+
* {{fr}} [http://qt.developpez.com/outils/ des outils destinés à Qt] ;
-
* {{fr}} [http://qt.developpez.com/livres/ Des livres sur Qt],
+
* {{fr}} [http://qt.developpez.com/livres/ des livres sur Qt] ;
-
* {{fr}} [http://blog.developpez.com/recap/qt Un blog sur l'actualité de Qt],
+
* {{fr}} [http://blog.developpez.com/recap/qt Un blog sur l'actualité de Qt] ;
-
* {{fr}} [http://qt.developpez.com/evenement/2006-devdays/ Des reportages sur les Qt Developer Days 2006],
+
* {{fr}} [http://qt.developpez.com/evenement/2006-devdays/ des reportages sur les Qt Developer Days 2006] ;
-
* {{fr}} [http://qt.developpez.com/evenement/2009-devdays/ Des reportages sur les Qt Developer Days 2009],
+
* {{fr}} [http://qt.developpez.com/evenement/2009-devdays/ des reportages sur les Qt Developer Days 2009]
-
* {{fr}} [http://qt.developpez.com/binaires/fr/ Des binaires précompilés de Qt],
+
* {{fr}} [http://qt.developpez.com/evenement/2010-devdays/ des reportages sur les Qt Developer Days 2010] ;
-
* {{fr}} [http://qt.developpez.Com/defis/ Les défis Qt].
+
* {{fr}} [http://qt.developpez.com/binaires/ des binaires précompilés de Qt] ;
 +
* {{fr}} [http://qt.developpez.com/defis/ les défis Qt].
 +
 
 +
Des ressources sur l'utilisation de Qt depuis ses bindings Python sont aussi disponibles.
 +
 
 +
* {{fr}} [http://pyqt.developpez.com/ les dernières actualités sur les bindings Python de Qt] ;
 +
* {{fr}} [http://www.developpez.net/forums/f172/autres-langages/python-zope/gui/pyqt/ le forum d'entraide sur les bindings Python de Qt] ;
 +
* {{fr}} [http://pyqt.developpez.com/tutoriels/ les meilleurs tutoriels sur les bindings Python de Qt] ;
 +
* {{fr}} [http://pyqt.developpez.com/faq/ la FAQ sur les bindings Python de Qt] ;
 +
* {{fr}} [http://pyqt.developpez.com/livres/ les meilleurs livres critiqués sur les bindings Python de Qt].

Version actuelle

Récupérée de « https://wiki.developpez.com/Qt »
Contacter le responsable de la rubrique Accueil