Python + Qt
PySide2 vs PyQt
2 portages dispo: PySide2 et PyQT5.
- PyQT5 s'installe normalement mais aurait une licence moins cool. Par contre pyqt5-tools (qui comporte les outils QML) ne s'installe pas avec pip.
Exemple de pipfile
1 2 3 4 5 6 7 8 9 10 11 12 13 | [[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] pyqt5-tools = "==5.11.3.1.4" PyQt5 = "==5.11.3" [requires] python_version = "3.7" |
- PySide2 est impossible à installer avec Pipenv.
QWidget vs QML
QWidget: on déclare dans le code les widgets qui forment l'application.
- look distinctif (aka moche)
QML: langage descriptif basé sur Javascript
- look natif de la plateforme (utile pour iOS par exemple)
- modèle MVC
- on peut embed du QML dans un QWidget mais c'est vraiment chercher les problèmes (utile en cas de migration notamment)
- en général, les applis possèdent 1 seul gros fichier QML (mais on peut aussi les splitter)
other
Qt Creator
HTML5/JS vs Qt: pas de multibrowser testing à faire, embedded use (smaller CPU for Qt) Usages: Terminaux agriculture, in flight entertainment, Nokia, Nintendo DS, Mindstorm, IVI voiture, e-gym, Les web apps: Netflix, Livebox FB utilise du NATIVE Netflix: nécessite proprietary rendering engine (Gibbon)