我正在使用 Pyside2,并且有一个使用 QGraphicsView 和 QGraphicsScene 的 UI。
现在我有两个独立的类,它们是 QGraphicsEllipseItem 和 QGraphicsRectItem 的子类,如下所示:
class MyRectButton(QGraphicsRectItem):
def contextMenuEvent(self, event):
# custom context menu
pass
def custom_method_A(self):
# add a custom method
pass
def custom_method_B(self):
# add a custom method
pass
class MyEllipseButton(QGraphicsEllipseItem):
def contextMenuEvent(self, event):
# custom context menu
pass
def custom_method_A(self):
# add a custom method
pass
def custom_method_B(self):
# add a custom method
pass
而不是在两个类中都有冗余方法,我想要一个可以是矩形或椭圆的类,例如:
class MyButton():
def __init__(self,shape='Ellipse'):
pass
def contextMenuEvent(self, event):
# custom context menu
pass
def custom_method_A(self):
# add a custom method
pass
def custom_method_B(self):
# add a custom method
pass