如何将 Qwt 图添加到框架

How to add a Qwt plot to a frame

我有一个 GUI,它应该有一个单独的绘图框架,但出于某种原因,我无法像添加常规小部件一样添加它。这是代码。

        def __init__(self, parent = None):
          Qwt.QwtPlot.__init__(self, parent)
          plot = Qwt.QwtPlot()
          layout = QtGui.QHBoxLayout()
          layout.addWidget(plot)
          self.setCanvasBackground(QtCore.Qt.white)
          self.container = QtGui.QFrame(self)
          self.container.setGeometry(150,20,100,100)
          self.container.setLayout(plot)
          self.container.show()

这会给出一条错误消息:

TypeError: QWidget.setLayout(QLayout): 参数 1 有意外的类型 'QwtPlot'

是否必须使用其他方法将绘图添加到框架?

我认为这很清楚,也许只是一个错字:

self.container.setLayout(plot)

正如方法签名所说:setLAYOUT。你放在那里的不是布局而是 QwtPlot。

设置您创建的布局:

self.container.setLayout(layout)

您已将绘图添加到布局中,现在设置此布局。