Qt
De WikiDeveloppez.
(Différences entre les versions)
(→Les certifications Qt) |
Version actuelle (12 février 2015 à 21:38) (voir la source) (→En Python avec PySide) |
||
'''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 : [[ | + | 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. | ||
=== En Python avec PyQt4 === | === En Python avec PyQt4 === | ||
- | <tt>from PyQt4 import | + | <tt>from PyQt4 import QtCore, QtGui |
import sys | import sys | ||
hello.show() | hello.show() | ||
app.exec_()</tt> | 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 == | ||
La dernière en date est la 2010.4. | 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 == | ||
=== QtDeclarative === | === QtDeclarative === | ||
- | Il s'agit du module qui fait le lien entre [[ | + | 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 | + | * {{fr}} [http://qt.developpez.com la FAQ Qt] ; |
- | * {{fr}} [http://www.developpez.net/forums/f376/c-cpp/bibliotheques/qt/ | + | * {{fr}} [http://www.developpez.net/forums/f376/c-cpp/bibliotheques/qt/ les forums d'entraide Qt] ; |
- | * {{fr}} [http://qt.developpez.com/ | + | * {{fr}} [http://qt.developpez.com/ les dernières actualités sur Qt] ; |
- | * {{fr}} [http://qt.developpez.com/tutoriels/ | + | * {{fr}} [http://qt.developpez.com/tutoriels/ des tutoriels et articles Qt] ; |
- | * {{fr}} [http://qt.developpez.com/outils/ | + | * {{fr}} [http://qt.developpez.com/outils/ des outils destinés à Qt] ; |
- | * {{fr}} [http://qt.developpez.com/livres/ | + | * {{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/ | + | * {{fr}} [http://qt.developpez.com/evenement/2006-devdays/ des reportages sur les Qt Developer Days 2006] ; |
- | * {{fr}} [http://qt.developpez.com/evenement/2009-devdays/ | + | * {{fr}} [http://qt.developpez.com/evenement/2009-devdays/ des reportages sur les Qt Developer Days 2009] ; |
- | * {{fr}} [http://qt.developpez.com/binaires/ | + | * {{fr}} [http://qt.developpez.com/evenement/2010-devdays/ des reportages sur les Qt Developer Days 2010] ; |
- | * {{fr}} [http://qt.developpez.com/defis/ | + | * {{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]. |