summaryrefslogtreecommitdiffhomepage
path: root/fr-fr/pyqt-fr.html.markdown
blob: 6d1666a21772ab23321a8e4597461f26b197dc7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
category: framework
framework: PyQT
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é,
cette version ayant juste été faite en utilisant pyqt!

```python
import sys
from PyQt4 import QtGui

def window():
	# Création de l'objet application
    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()
```

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.

```python
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *


def window():
    app = QApplication(sys.argv)
    w = QWidget()
    # Creation d'un bouton attaché au widget w
    b = QPushButton(w)
    b.setText("Press me")
    b.move(50, 50)
    # Dire à b d'appeler cette fonction quand il est cliqué
    # remarquez l'absence de "()" sur l'appel de la fonction
    b.clicked.connect(showdialog)
    w.setWindowTitle("PyQt Dialog")
    w.show()
    sys.exit(app.exec_())

# Cette fonction devrait créer une fenêtre de dialogue avec un bouton
# qui attend d'être cliqué puis quitte le programme
def showdialog():
    d = QDialog()
    b1 = QPushButton("ok", d)
    b1.move(50, 50)
    d.setWindowTitle("Dialog")
    # Cette modalité dit au popup de bloquer le parent pendant qu'il est actif
    d.setWindowModality(Qt.ApplicationModal)
    # En cliquant je voudrais que tout le processus se termine
    b1.clicked.connect(sys.exit)
    d.exec_()

if __name__ == '__main__':
    window()
```