2016-03-25 52 views
0

一個matplotlib控件我QtDesigner這個QDialog的創建繪圖:在QtDesigner

enter image description here

我想知道我怎麼能得出這個Matplotlib小工具,我把有什麼。我的意思是,如果我寫一些代碼來創建一個沒有Qt設計一個matplotlib的身影,我可以寫這樣的:

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) 

,然後繪製做:

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

如何訪問到這個小部件來繪製一些東西?希望您能夠幫助我。

+0

你會想你'FigureCanvas'添加了基於你的截圖應該是你的'QMainWindow'類爲'self.matplotlibwidget'內訪問的部件。然後你可以調用'self.matplotlibwidget.addWidget(self.figure_canvas)' – Suever

+0

謝謝你的回答。我之前嘗試過這樣做,我得到一個錯誤,說'matplotlibwidget對象沒有屬性addwidget'。 –

+1

噢,好吧,你已經有了這個小部件。很抱歉誤讀了。你應該可以直接使用這個小部件到一個軸。 'self.matplotlibwidget.axes.plot(x,y)' – Suever

回答

1

根據您所提供的截圖,似乎MatplotlibWidget應儘可能self.matplotlibwidget訪問您QMainWindow類中。這是因爲Object Inspector的「Object」列中列出的值。

您可以使用此對象直接添加繪圖到您的GUI。

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