Skip to content

Python + Qt

A book about Qt5

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)