Intégrer des graphiques matplotlib dans les interfaces PyQt
L'amélioration des interfaces utilisateur PyQt4 avec des visualisations graphiques est une exigence courante. matplotlib, une bibliothèque Python populaire pour créer des graphiques statiques et interactifs, offre une intégration transparente avec PyQt4.
Pour intégrer des graphiques matplotlib dans les interfaces graphiques PyQt4, plusieurs approches peuvent être utilisées. Explorons un guide étape par étape pour créer un exemple de base avec un graphique et un bouton.
Étape 1 : Importer les modules requis
<code class="python">import sys from PyQt4 import QtGui from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg, NavigationToolbar2QT from matplotlib.figure import Figure</code>
Étape 2 : Définissez la classe Window
Créez une fenêtre PyQt4 qui hébergera le graphique et les boutons.
<code class="python">class Window(QtGui.QDialog): def __init__(self, parent=None): super(Window, self).__init__(parent) # Create a Figure instance for plotting self.figure = Figure() # Create a FigureCanvasQTAgg object to display the figure self.canvas = FigureCanvasQTAgg(self.figure) # Add a NavigationToolbar2QT widget for interactive navigation self.toolbar = NavigationToolbar2QT(self.canvas, self) # Create a Plot button self.button = QtGui.QPushButton('Plot') self.button.clicked.connect(self.plot) # Set the layout layout = QtGui.QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) layout.addWidget(self.button) self.setLayout(layout)</code>
Étape 3 : Définissez la fonction de tracé
La fonction Plot génère des données aléatoires et les trace sur le graphique.
<code class="python"> def plot(self): # Generate random data data = [random.random() for i in range(10)] # Create an axis on the figure ax = self.figure.add_subplot(111) # Clear the existing plot ax.clear() # Plot the data ax.plot(data, '*-') # Update the canvas self.canvas.draw()</code>
Étape 4 : Application principale
Instancier la classe Window et lancez l'application.
<code class="python">if __name__ == '__main__': app = QtGui.QApplication(sys.argv) main = Window() main.show() sys.exit(app.exec_())</code>
Ce script fournit un exemple simple mais efficace d'intégration de graphiques matplotlib dans les interfaces utilisateur PyQt4. En tirant parti de ces puissantes bibliothèques, les développeurs peuvent améliorer leurs applications avec des visualisations interactives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!