2016-03-25 10 views
0

ich in QtDesigner diese QDialog erstellt:Zeichnung in einem matplotlib Widget in QtDesigner

enter image description here

Ich mag würde wissen, wie kann ich etwas in diesem Matplotlib Widget ziehen, die ich dort setzen. Ich meine, wenn ich einige Code schreiben eine matplotlib Figur ohne Qt Designer zu erstellen, ich so etwas schreiben:

self.figure_canvas = FigureCanvas(Figure()) 

self.axes = self.figure_canvas.figure.add_subplot(111) 

x = np.arange(0,5,0.5) 
y = np.sin(x) 

und zeichnen Sie dann tun:

ax.plot(x,y) oder self.axes.plot(x,y)

Wie kann ich zu diesem Widget etwas zeichnen? Hoffe, du kannst mir helfen.

+0

Sie wollen Ihre 'FigureCanvas' auf das Widget, das in Ihrer' QMainWindow' Klasse auf dem Screenshot auf Basis hinzufügen, wie 'self.matplotlibwidget' zugänglich sein sollte. Dann können Sie 'self.matplotlibwidget.addWidget (self.figure_canvas) '' – Suever

+0

nennen Danke für Ihre Antwort. Ich habe versucht, genau dies vorher zu tun, und ich bekomme eine Fehlermeldung, dass 'Matplotlibwidget Objekt hat kein Attribut addwidget'. –

+1

Oh ok, du hast also schon das Widget. Entschuldigung falsch gelesen. Sie sollten nur in der Lage sein, das Widget direkt an einer Achse zu verwenden. 'self.matplotlibwidget.axes.plot (x, y)' – Suever

Antwort

1

Basierend auf dem Screenshot, den Sie bereitgestellt haben, scheint es, dass die MatplotlibWidget als self.matplotlibwidget aus Ihrer QMainWindow Klasse zugänglich sein sollte. Dies liegt an dem Wert, der in der Spalte "Objekt" des Objektinspektors aufgeführt ist.

Sie können dieses Objekt direkt verwenden, um Diagramme zu Ihrer GUI hinzuzufügen.

self.matplotlibwidget.axes.plot(x, y)