我是一名有用的助手,可以为您翻译文本。
我一直在关注这个章节, 以将matplotlib图形嵌入QTdesigner生成的GUI中。到目前为止,它可以工作,但我还需要嵌入工具栏到GUI中以操纵和保存绘图。我该如何修改示例代码以添加工具栏?我已经谷歌了许多来源,他们都有自己的定制代码,但这些代码无法与书中给出的示例一起使用。
我认为我需要修改自定义小部件类。小部件类的代码在这里: 原始代码(来自书籍):
我的问题是如何添加代码,使得工具栏与画布一起显示?
我知道必须使用以下命令导入api:
我需要创建一个新的类和/或自定义小部件来放置它吗?
我一直在关注这个章节, 以将matplotlib图形嵌入QTdesigner生成的GUI中。到目前为止,它可以工作,但我还需要嵌入工具栏到GUI中以操纵和保存绘图。我该如何修改示例代码以添加工具栏?我已经谷歌了许多来源,他们都有自己的定制代码,但这些代码无法与书中给出的示例一起使用。
我认为我需要修改自定义小部件类。小部件类的代码在这里: 原始代码(来自书籍):
from PyQt4 import QtGui
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MplCanvas(FigureCanvas):
def __init__(self):
self.fig = Figure()
self.ax = self.fig.add_subplot(111)
FigureCanvas.__init__(self, self.fig)
FigureCanvas.setSizePolicy(self,
QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
class MplWidget(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.canvas = MplCanvas()
self.vbl = QtGui.QVBoxLayout()
self.vbl.addWidget(self.canvas)
self.setLayout(self.vbl)
我的问题是如何添加代码,使得工具栏与画布一起显示?
我知道必须使用以下命令导入api:
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
我需要创建一个新的类和/或自定义小部件来放置它吗?
self.vbl = QtGui.QVBoxLayout() self.vbl.addWidget(self.canvas) self.vbl.addWidget(self.mpl_toolbar) self.setLayout(self.vbl)
` 现在它可以工作了。谢谢! - railsnoob123