====== Passer de Qt 4 a Qt 5 ====== Une question qui est souvent posée est comment apprendre Qt 5. Et la réponse est souvent d'apprendre Qt 4, puis les nouvelles fonctionnalités de Qt 5. Cela ne pose pas de probleme pour plusieurs raisons : Premièrement, il n'y a pas de bon cours (a ma connaissance) sur Qt 5, en français ou en anglais. Il existe le livre de Tristan Israel [[https://www.amazon.fr/Ma%C3%AEtrisez-Qt-d%C3%A9veloppement-dapplications-professionnelles/dp/2746089211|Maîtrisez Qt 5]], mais je ne l'ai jamais lu. Donc si vous avez de retour sur ce livre, n’hésitez pas a partager. Le deuxieme point est que justement, il existe de tres bon livres sur Qt 4 : les deux livres de Summerfield : [[https://www.amazon.fr/GUI-Programming-Qt4-Jasmin-Blanchette/dp/0132354160|C++ GUI Programming with Qt4]] et [[https://www.amazon.fr/Advanced-Qt-Programming-Creating-Software/dp/0321635906|Advanced Qt Programming]]. Le troisieme point est que l’évolution de Qt 4 vers Qt 5 n'est pas si importante que cela. Pour être plus précis (avant de me faire lyncher pour ces propos) est que de nombreux concepts de base de Qt 4 sont conserve dans Qt 5 : les modules, le système de meta-object, le principe des signaux et slots, le fonctionnement de qmake et du moc, etc. Le changement important entre Qt 4 et Qt 5 (tout au moins au début) était surtout un changement d'architecture interne (le QPA, Qt Plateforme Abstraction, permettant de faciliter le portage de Qt sur d'autres plateformes). Quelqu'un qui a une bonne maîtrise des concepts de Qt 4 pourra donc évoluer facilement vers Qt 5. Le but de ce tutoriel est donc de répondre a la question suivante : si vous connaissez (bien) Qt 4, que faut'il étudier pour passer a Qt 5 ? Note : le but n'est pas de vous apprendre Qt 5, mais de vous donner les éléments permettant de faire des recherches sur ce que vous devez étudier. Voire vous donner des liens vers des références a consulter. Mais pas donner directement ces explications. Generalites: * http://doc.qt.io/qt-5/qt5-intro.html * http://doc.qt.io/qt-5/overviews-main.html * http://doc.qt.io/qt-5/portingguide.html ===== Organisation et architecture de Qt 5 ===== nouvelle organisation des modules QPA QBS Installer framework Qt Creator ===== Qt Core ===== Nouvelle syntaxe des connexions QStandardPaths JSON ===== Qt Gui ===== Utilisation d'OpenGL en interne Graphics effect, shaders... ===== Qt Quick et le QML ===== http://qmlbook.github.io/ Scenegraph V8, V4 QML Compiler ===== Les plateformes ===== Android, iOS, Raspberry... Multi-touch Sensor, Positioning, Location... JNI ===== Communications ===== QFtp Bluetooth, NFC... SSL ===== Web ===== WebKit WebEngine ===== Multimedia ===== Phonon ===== Qt3D ===== ===== Extras ===== Deprecated Functionality Qt Company extras Qt Serial Bus