mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-26 20:34:32 +03:00
85 lines
2.7 KiB
Markdown
85 lines
2.7 KiB
Markdown
---
|
|
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()
|
|
```
|