From fb5d5ca95ed74d18ef1a99a2344a1ce9bae8013b Mon Sep 17 00:00:00 2001 From: yatengLG <767624851@qq.com> Date: Thu, 10 Aug 2023 14:41:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=B0=83=E6=95=B4=E9=A1=B6?= =?UTF-8?q?=E7=82=B9=E5=A4=A7=E5=B0=8F=E4=BB=A5=E5=8F=8A=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=A1=B6=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/images/isat.yaml | 4 ++++ widgets/canvas.py | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/example/images/isat.yaml b/example/images/isat.yaml index fc38e77..9b725dd 100644 --- a/example/images/isat.yaml +++ b/example/images/isat.yaml @@ -1,3 +1,4 @@ +contour_mode: external label: - color: '#000000' name: __background__ @@ -19,3 +20,6 @@ label: name: cake - color: '#5c3566' name: fence +language: en +mask_alpha: 0.4 +vertex_size: 2 diff --git a/widgets/canvas.py b/widgets/canvas.py index 490bd31..b6e12ad 100644 --- a/widgets/canvas.py +++ b/widgets/canvas.py @@ -307,8 +307,16 @@ class AnnotationScene(QtWidgets.QGraphicsScene): deleted_layer = item.zValue() del item elif isinstance(item, Vertex): - index = item.polygon.vertexs.index(item) + polygon = item.polygon + index = polygon.vertexs.index(item) item.polygon.removePoint(index) + # 如果剩余顶点少于三个,删除多边形 + if len(polygon.vertexs) < 3: + self.mainwindow.polygons.remove(polygon) + polygon.delete() + self.removeItem(polygon) + deleted_layer = polygon.zValue() + del polygon if deleted_layer is not None: for p in self.mainwindow.polygons: