为什么这种多类继承无效?看来我做错了什么。我正在尝试创建一个具有UID属性的基类,并在更改该属性时调用self.update强制触发图形项的paint事件。使用基类的原因是,这样我就可以在最终将要创建的所有其他自定义GraphicItem中实现此属性。并非全部都是TextItems。
import os, sys, uuid
from Qt import QtWidgets, QtGui, QtCore
class AbstractNodeItem(QtWidgets.QGraphicsItem):
def __init__(self, parent=None):
super(AbstractNodeItem, self).__init__(parent)
self.setFlags(self.ItemIsSelectable | self.ItemIsMovable)
self.setZValue(0)
# private
self.m_uid = uuid.uuid4().hex
# Getters/Setters
def getUid(self):
return self.m_uid
def setUid(self, value=''):
self.m_uid = value
class StickyNoteNodeItem(AbstractNodeItem, QtWidgets.QGraphicsTextItem):
def __init__(self, parent=None):
super(StickyNoteNodeItem, self).__init__(parent)
def printProperties(item):
print '>>>>>', item.getUid()
a = AbstractNodeItem()
b = StickyNoteNodeItem()
printProperties(a)
printProperties(b)