【发布时间】:2016-07-13 09:21:38
【问题描述】:
我在 QtDesigner 中创建了这个 QDialog:
我想知道如何在我放在那里的这个 Matplotlib 小部件中绘制一些东西。我的意思是,如果我在没有 Qt Designer 的情况下编写一些代码来创建 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)
我如何访问这个小部件来绘制一些东西?希望你能帮助我。
【问题讨论】:
-
您需要将您的
FigureCanvas添加到基于您的屏幕截图的小部件中,该小部件应该可以在您的QMainWindow类中作为self.matplotlibwidget访问。然后你可以拨打self.matplotlibwidget.addWidget(self.figure_canvas) -
感谢您的回答。我之前尝试过这样做,但我收到一条错误消息
matplotlibwidget object has no attribute addwidget。 -
哦,好吧,你已经有了这个小部件。抱歉误读了。您应该能够直接将小部件用于轴。
self.matplotlibwidget.axes.plot(x,y) -
是的,它有效!!太感谢了。现在我对 Qt Designer 有了更多的了解。再次感谢您。
-
太棒了。我已将其添加为下面的正式解决方案
标签: python qt numpy matplotlib