我想使用sqlalchemy使QGraphicsItem
持久。輕鬆地將Base類與PySide類組合會給出一個關於元類的錯誤。 metaclbs主題是Python的魔力,我不想在不需要的時候深入研究。 有沒有簡單的方法來解決這個元類衝突?組合Qgraphics和sqlalchemy時出現Metaclass錯誤
class MarketItem(Base, QtGui.QGraphicsEllipseItem, QtGui.QListWidgetItem):
"""
"""
__tablename__ = "marketitem"
Id = Column(Integer(4), primary_key=True)
name = Column(String(40))
x_pos = Column(Integer(4))
y_pos = Column(Integer(4))
def __init__(self, x_pos, y_pos, scene, name, style=QtCore.Qt.SolidLine,
rect=None, matrix=QtGui.QTransform(), cat = None):
super(MarketItem, self).__init__()
self.setFlags(QtGui.QGraphicsItem.ItemIsSelectable|
QtGui.QGraphicsItem.ItemIsMovable|
QtGui.QGraphicsItem.ItemIsFocusable)
self.pos = QtCore.QPoint(x_pos, y_pos)
self.x_pos = x_pos
self.y_pos = y_pos
self.name = name
給出了錯誤:
File "C:\Users\Richard\Documents\manAmpl\aptana\mampl\pm15ConeModel.py", line 47, in <module>
class MarketItem(Base, QtGui.QGraphicsEllipseItem, QtGui.QListWidgetItem):
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
謝謝,理查德
它看起來就像需要以一個簡單的情況下, [指定這裏描述的元類](http://code.activestate.com/recipes/204197-solving-the-metaclass-conflict/),但我沒有足夠的信心稱這是一個答案。 – khoxsey 2012-07-19 18:54:08