Skip to content

Commit ea9a6dd

Browse files
committed
- fix bug
修复顶点大小设置为0时,绘制过程中默认选中多边形的问题。 该问题会导致: 1.由于选中多边形,显示多边形外接虚线框,导致顶点为0与不为0时,显示存在差异;2. 由于选中多边形,拖动鼠标事件为移动多边形,造成拖动鼠标绘制曲线功能异常。
1 parent 8ab5913 commit ea9a6dd

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

ISAT/widgets/polygon.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ def itemChange(self, change: 'QGraphicsItem.GraphicsItemChange', value: typing.A
179179
self.scene().selected_polygons_list.remove(self)
180180
self.scene().mainwindow.annos_dock_widget.set_selected(self) # 更新label面板
181181

182-
if change == QtWidgets.QGraphicsItem.GraphicsItemChange.ItemPositionChange: # ItemPositionHasChanged
182+
if change == QtWidgets.QGraphicsItem.GraphicsItemChange.ItemPositionHasChanged: # ItemPositionHasChanged
183183
bias = value
184184
l, t, b, r = self.boundingRect().left(), self.boundingRect().top(), self.boundingRect().bottom(), self.boundingRect().right()
185185
if l + bias.x() < 0: bias.setX(-l)
@@ -193,6 +193,10 @@ def itemChange(self, change: 'QGraphicsItem.GraphicsItemChange', value: typing.A
193193
if self.scene().mainwindow.load_finished and not self.is_drawing:
194194
self.scene().mainwindow.set_saved_state(False)
195195

196+
if change == QtWidgets.QGraphicsItem.GraphicsItemChange.ItemPositionChange:
197+
value = 0 if self.is_drawing else value
198+
if change == QtWidgets.QGraphicsItem.GraphicsItemChange.ItemSelectedHasChanged and self.isSelected():
199+
self.setSelected(not self.is_drawing)
196200
return super(Polygon, self).itemChange(change, value)
197201

198202
def hoverEnterEvent(self, event: 'QGraphicsSceneHoverEvent'):

0 commit comments

Comments
 (0)