【发布时间】:2014-02-11 21:54:58
【问题描述】:
我试图使用以下代码将自定义小部件添加到 qtdesginer 中
from PyQt4 import QtGui
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
import PySide
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)
但我只是给我一个错误
TypeError:使用错误的参数类型调用“PySide.QtGui.QWidget.setSizePolicy”: PySide.QtGui.QWidget.setSizePolicy(政策,政策) 支持的签名: PySide.QtGui.QWidget.setSizePolicy(PySide.QtGui.QSizePolicy) PySide.QtGui.QWidget.setSizePolicy(PySide.QtGui.QSizePolicy.Policy, PySide.QtGui.QSizePolicy.Policy)
我不确定是什么导致了错误,因为我基本上遵循了这部分http://packtlib.packtpub.com/library/9781847197900/ch06lvl1sec04
任何建议都会很好,因为我是这个 qt 设计师的新手。
【问题讨论】:
-
你不能混用
PyQt4和PySides
标签: python qt matplotlib widget qt-designer