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 85 86 87 88 89
| #!/usr/bin/python
# -*- coding: utf-8 -*-
# Python3 v3.5, PyQt5 v5.9
import sys
from PyQt5 import (QtWidgets, QtCore) # ajouter QtGui si ajout d'une icone
#############################################################################
class Fenetre(QtWidgets.QWidget):
#========================================================================
def __init__(self, parent=None):
super().__init__(parent)
# dimensionne la fenêtre
self.resize(250, 100)
# met un titre à la fenêtre
self.setWindowTitle("Test")
# option: met une icône à la fenêtre
#self.setWindowIcon(QtGui.QIcon(monicone.png))
# créer un 1er bouton appartenant à la fenêtre
self.bouton1 = QtWidgets.QPushButton("bouton 1", self)
# un clic sur ce bouton exécutera la méthode clictest1
self.bouton1.clicked.connect(self.clictest1)
# créer un 2ème bouton appartenant à la fenêtre
self.bouton2 = QtWidgets.QPushButton("bouton 2", self)
# un clic sur ce bouton exécutera la méthode clictest2
self.bouton2.clicked.connect(self.clictest2)
# positionne les 2 bouton dans la fenêtre
layout = QtWidgets.QGridLayout()
layout.addWidget(self.bouton1, 0, 0)
layout.addWidget(self.bouton2, 1, 0)
self.setLayout(layout)
#========================================================================
@QtCore.pyqtSlot(bool)
def clictest1(self, coche=False):
QtWidgets.QMessageBox.information(self,
"Information",
"Vous avez cliqué sur le bouton 1")
#========================================================================
@QtCore.pyqtSlot(bool)
def clictest2(self, coche=False):
QtWidgets.QMessageBox.information(self,
"Information",
"Vous avez cliqué sur le bouton 2")
#############################################################################
if __name__ == "__main__":
#========================================================================
# initialisation de la bibliothèque graphique
app = QtWidgets.QApplication(sys.argv)
#========================================================================
# style pour toute l'application
if "Fusion" in [st for st in QtWidgets.QStyleFactory.keys()]:
app.setStyle(QtWidgets.QStyleFactory.create("Fusion"))
elif sys.platform=="win32":
app.setStyle(QtWidgets.QStyleFactory.create("WindowsVista"))
elif sys.platform=="linux":
app.setStyle(QtWidgets.QStyleFactory.create("gtk"))
elif sys.platform=="darwin":
app.setStyle(QtWidgets.QStyleFactory.create("macintosh"))
app.setPalette(QtWidgets.QApplication.style().standardPalette())
#========================================================================
# pour assurer la traduction automatique du conversationnel à la locale
locale = QtCore.QLocale.system().name()
translator = QtCore.QTranslator()
reptrad = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
translator.load("qtbase_" + locale, reptrad) # <==qtbase_fr.qm
app.installTranslator(translator)
#========================================================================
# lancement de la fenêtre
fen = Fenetre()
fen.show()
#========================================================================
# boucle de traitement des évènements
sys.exit(app.exec_()) |
Partager