私はPyQt 5を使用しています。 私はQGraphicsObjectが表示されるリストを持つQGraphicsSceneを持っています。 私はQRectFと他のタイプに問題はありません。私は、シーンに追加カスタムQGraphicsItem自体が削除されます
class RobotPathItem(QGraphicsItem):
def __init__(self, path):
super().__init__()
qpath = []
for xy in path:
qpath.append(QPoint(xy[0],xy[1]))
self.path = QPolygon(qpath)
def paint(self, painter, option, qwidget = None):
painter.drawPoints(self.path)
def boundingRect(self):
return QRectF(0,0,520,520)
:
self.objects[model_obj.id].append(self.scene.addItem(RobotPathItem(model_obj.actuator.get_current_path())))
をここで[model_obj.id]適切なリストであるself.objects次のようにしかし、私は、カスタムクラスを実装しました。 シーンに表示されます。
問題は、次の繰り返しで何らかの理由でリストから削除されてしまうことです。私がチェックしたら
print(self.objects[model_obj.id][-1])
私は "なし"(NoneType)を得る。他のすべてのオブジェクトはまだリストにあります。エラーはどこですか?
それを更新する
を実装:正しく動作するために上記のコードのためにそう
。 addItemはあなたが追加しているポインタを受け取るので、返す必要はありませんが、この場合は便利です。 – goug