Matplotlib in PyQt4 einbetten: Eine Schritt-für-Schritt-Anleitung
Die Integration eines interaktiven Matplotlib-Diagramms in eine PyQt4-Benutzeroberfläche ist einfacher mag scheinen. Hier ist eine Schritt-für-Schritt-Erklärung:
Importieren Sie die erforderlichen Module:
Beginnen Sie mit dem Importieren der relevanten Qt-Widgets aus matplotlib.backends. backend_qt4agg:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
Erstellen Sie eine Matplotlib-Figur:
Instanziieren Sie ein Figure-Objekt, das als Leinwand für Ihr Objekt dient graph.
self.figure = Figure()
Instanziieren Sie ein Qt-Widget für die Leinwand.:
Erstellen Sie eine Instanz von FigureCanvas, die das Qt-Widget darstellt, das angezeigt wird Abbildung.
self.canvas = FigureCanvas(self.figure)
Eine Navigationssymbolleiste hinzufügen:
Das NavigationToolbar-Widget bietet Steuerelemente zum Zoomen, Schwenken und Speichern der Figur.
self.toolbar = NavigationToolbar(self.canvas, self)
Erstellen Sie eine Schaltfläche:
Erstellen Sie eine PyQt-Schaltfläche, die beim Klicken eine Plotfunktion auslöst.
self.button = QtGui.QPushButton('Plot')
self.button.clicked.connect(self.plot)
Design des Layouts:
Anordnen der Widgets innerhalb eines Qt-Layouts.
layout = QtGui.QVBoxLayout()
layout.addWidget(self.toolbar)
layout.addWidget(self.canvas)
layout.addWidget(self.button)
self.setLayout(layout)
Zufällige Daten darstellen:
Definieren Sie eine Funktion, um Zufallsdaten zu generieren und diese auf der Figur darzustellen.
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()
Durch Befolgen dieser Schritte können Sie ein Matplotlib-Diagramm in eine PyQt4-Benutzeroberfläche einbetten, sodass Sie Daten visualisieren und über Qt-Widgets mit ihnen interagieren können.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3