Intégrer Matplotlib dans PyQt4 : un guide étape par étape
L'intégration d'un graphe matplotlib interactif dans une interface utilisateur PyQt4 est plus simple que cela peut paraître. Voici une explication étape par étape :
Importez les modules nécessaires :
Commencez par importer les widgets Qt pertinents depuis matplotlib.backends. backend_qt4agg :
<code class="python">from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar</code>
Créez une figure Matplotlib :
Instancier un objet Figure pour servir de canevas pour votre graphique.
<code class="python">self.figure = Figure()</code>
Instancier un widget Qt pour le canevas :
Créez une instance de FigureCanvas, qui représente le widget Qt qui affichera la figure.
<code class="python">self.canvas = FigureCanvas(self.figure)</code>
Ajouter une barre d'outils de navigation :
Le widget NavigationToolbar fournit des commandes pour le zoom, le panoramique et l'enregistrement de la figure.
<code class="python">self.toolbar = NavigationToolbar(self.canvas, self)</code>
Créer un bouton :
Créez un bouton PyQt qui, une fois cliqué, déclenchera une fonction de tracé.
<code class="python">self.button = QtGui.QPushButton('Plot') self.button.clicked.connect(self.plot)</code>
Concevoir la mise en page :
Organisez les widgets dans une mise en page Qt.
<code class="python">layout = QtGui.QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) layout.addWidget(self.button) self.setLayout(layout)</code>
Tracé Données aléatoires :
Définissez une fonction pour générer des données aléatoires et tracez-la sur la figure.
<code class="python">def plot(self): data = [random.random() for i in range(10)] ax = self.figure.add_subplot(111) ax.clear() ax.plot(data, '*-') self.canvas.draw()</code>
En suivant ces étapes, vous pouvez intégrer un Graphique matplotlib dans une interface utilisateur PyQt4, vous permettant de visualiser des données et d'interagir avec elles via des widgets Qt.
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!