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
| from PyQt5.QtWidgets import QWidget, QDesktopWidget, QVBoxLayout, QMainWindow, QApplication
from matplotlib.backends.backend_qt5agg import (FigureCanvas, NavigationToolbar2QT as NavigationToolbar)
from matplotlib.figure import Figure
import sys
class Fenetre_Principale_indicateurs(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
try:
figure_1 = FigureCanvas(Figure())
graphique_1 = figure_1.figure.subplots(nrows=1, ncols=1)
self.graphique_dynamique = graphique_1.scatter([1,2,3,4,5,6,7,8,9], [5,4,7,8,9,3,2,1,6])
except:
print("Création objet Graphique KO")
try:
graphique_1.set_title("Titre")
graphique_1.set_ylim(-50, 50)
graphique_1.set_xlim(0, 10)
except:
print("Personnalisation Graphique KO")
try:
figure_1.figure.canvas.mpl_connect("motion_notify_event", self.hover)
except:
print("Connect pour Hover KO")
try:
self.fenetre_widget = QWidget()
layout_vertical_global1 = QVBoxLayout()
layout_vertical_global1.addWidget(figure_1)
self.fenetre_widget.setLayout(layout_vertical_global1)
self.setCentralWidget(self.fenetre_widget)
except:
print("Intégration KO")
def hover(self, event):
try:
if event.inaxes:
cont, ind = self.graphique_dynamique.contains(event)
if cont:
print("OK")
except:
print("Dynamic Hover failed")
def main(args):
appli=QApplication(args)
fenetre=Fenetre_Principale_indicateurs()
fenetre.show()
r=appli.exec_()
return r
if __name__=="__main__":
main(sys.argv) |
Partager