2018-08-14 20:20:36 +03:00
---
2021-03-10 06:43:53 +03:00
category: framework
framework: PyQT
2018-08-14 20:20:36 +03:00
filename: learnpyqt-fr.py
contributors:
- ["Nathan Hughes", "https://github.com/sirsharpest"]
translators:
- ["DevHugo", "http://twitter.com/devhugo"]
lang: fr-fr
---
**Qt** est un framework très connu pour le développement de logiciel cross-platform qui peuvent être lancé sur différents systèmes avec de petit ou aucun changement dans le code, tout en ayant la puissance et la vitesse des applications natives. Bien que **Qt** ait été écrit à l'origine en *C++* .
Ceci est une adaptation de l'intro C++ à QT par [Aleksey Kholovchuk](https://github.com/vortexxx192
), certains exemples du code doivent avoir la même fonctionnalité,
2024-04-03 14:13:28 +03:00
cette version ayant juste été faite en utilisant pyqt!
2018-08-14 20:20:36 +03:00
```python
import sys
from PyQt4 import QtGui
2024-04-03 14:13:28 +03:00
2018-08-14 20:20:36 +03:00
def window():
2024-04-03 14:13:28 +03:00
# Création de l'objet application
2018-08-14 20:20:36 +03:00
app = QtGui.QApplication(sys.argv)
# Création d'un widget où notre label sera placé
w = QtGui.QWidget()
# Ajout d'un label au widget
b = QtGui.QLabel(w)
# Assignation de texte au label
b.setText("Hello World!")
# Assignation des tailles et des informations de placement
w.setGeometry(100, 100, 200, 50)
b.move(50, 20)
# Assignation d'un nom à notre fenêtre
w.setWindowTitle("PyQt")
# Affichage de la fenêtre
w.show()
# Exécution de l'application
sys.exit(app.exec_())
if __name__ == '__main__':
window()
```
2018-09-05 11:34:20 +03:00
Pour obtenir certaines des fonctionnalités les plus avancées de **pyqt** nous devons commencer par chercher à construire des éléments supplémentaires.
Ici nous voyons comment introduire une boîte de dialogue popup, utile pour demander une confirmation à un utilisateur ou fournir des informations.
2018-08-14 20:20:36 +03:00
2024-04-03 14:13:28 +03:00
```python
2018-08-14 20:20:36 +03:00
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
def window():
app = QApplication(sys.argv)
w = QWidget()
2018-09-05 11:34:20 +03:00
# Creation d'un bouton attaché au widget w
2018-08-14 20:20:36 +03:00
b = QPushButton(w)
b.setText("Press me")
b.move(50, 50)
2018-09-05 11:34:20 +03:00
# Dire à b d'appeler cette fonction quand il est cliqué
# remarquez l'absence de "()" sur l'appel de la fonction
2018-08-14 20:20:36 +03:00
b.clicked.connect(showdialog)
w.setWindowTitle("PyQt Dialog")
w.show()
sys.exit(app.exec_())
2024-04-03 14:13:28 +03:00
2018-09-05 11:34:20 +03:00
# Cette fonction devrait créer une fenêtre de dialogue avec un bouton
# qui attend d'être cliqué puis quitte le programme
2018-08-14 20:20:36 +03:00
def showdialog():
d = QDialog()
b1 = QPushButton("ok", d)
b1.move(50, 50)
d.setWindowTitle("Dialog")
2018-09-10 12:54:47 +03:00
# Cette modalité dit au popup de bloquer le parent pendant qu'il est actif
2018-08-14 20:20:36 +03:00
d.setWindowModality(Qt.ApplicationModal)
2018-09-05 11:34:20 +03:00
# En cliquant je voudrais que tout le processus se termine
2018-08-14 20:20:36 +03:00
b1.clicked.connect(sys.exit)
d.exec_()
if __name__ == '__main__':
window()
```