提交 f68f7df7 编写于 作者: 赛佬的小迷弟's avatar 赛佬的小迷弟

Update move box

上级 6887f457
...@@ -885,10 +885,16 @@ class MainWindow(QMainWindow, WindowMixin): ...@@ -885,10 +885,16 @@ class MainWindow(QMainWindow, WindowMixin):
self.updateComboBox() self.updateComboBox()
def updateBoxlist(self): def updateBoxlist(self):
for shape in self.canvas.selectedShapes+[self.canvas.hShape]: if self.canvas.hShape != None:
item = self.shapesToItemsbox[shape] # listitem for shape in self.canvas.selectedShapes + [self.canvas.hShape]:
text = [(int(p.x()), int(p.y())) for p in shape.points] item = self.shapesToItemsbox[shape] # listitem
item.setText(str(text)) text = [(int(p.x()), int(p.y())) for p in shape.points]
item.setText(str(text))
else:
for shape in self.canvas.selectedShapes:
item = self.shapesToItemsbox[shape] # listitem
text = [(int(p.x()), int(p.y())) for p in shape.points]
item.setText(str(text))
self.actions.undo.setEnabled(True) self.actions.undo.setEnabled(True)
self.setDirty() self.setDirty()
......
...@@ -709,43 +709,45 @@ class Canvas(QWidget): ...@@ -709,43 +709,45 @@ class Canvas(QWidget):
self.update() self.update()
elif key == Qt.Key_Return and self.canCloseShape(): elif key == Qt.Key_Return and self.canCloseShape():
self.finalise() self.finalise()
elif key == Qt.Key_Left and self.selectedShape: elif key == Qt.Key_Left and self.selectedShapes:
self.moveOnePixel('Left') self.moveOnePixel('Left')
elif key == Qt.Key_Right and self.selectedShape: elif key == Qt.Key_Right and self.selectedShapes:
self.moveOnePixel('Right') self.moveOnePixel('Right')
elif key == Qt.Key_Up and self.selectedShape: elif key == Qt.Key_Up and self.selectedShapes:
self.moveOnePixel('Up') self.moveOnePixel('Up')
elif key == Qt.Key_Down and self.selectedShape: elif key == Qt.Key_Down and self.selectedShapes:
self.moveOnePixel('Down') self.moveOnePixel('Down')
def moveOnePixel(self, direction): def moveOnePixel(self, direction):
# print(self.selectedShape.points) # print(self.selectedShape.points)
if direction == 'Left' and not self.moveOutOfBound(QPointF(-1.0, 0)): for i in range(len(self.selectedShapes)):
# print("move Left one pixel") self.selectedShape = self.selectedShapes[i]
self.selectedShape.points[0] += QPointF(-1.0, 0) if direction == 'Left' and not self.moveOutOfBound(QPointF(-1.0, 0)):
self.selectedShape.points[1] += QPointF(-1.0, 0) # print("move Left one pixel")
self.selectedShape.points[2] += QPointF(-1.0, 0) self.selectedShape.points[0] += QPointF(-1.0, 0)
self.selectedShape.points[3] += QPointF(-1.0, 0) self.selectedShape.points[1] += QPointF(-1.0, 0)
elif direction == 'Right' and not self.moveOutOfBound(QPointF(1.0, 0)): self.selectedShape.points[2] += QPointF(-1.0, 0)
# print("move Right one pixel") self.selectedShape.points[3] += QPointF(-1.0, 0)
self.selectedShape.points[0] += QPointF(1.0, 0) elif direction == 'Right' and not self.moveOutOfBound(QPointF(1.0, 0)):
self.selectedShape.points[1] += QPointF(1.0, 0) # print("move Right one pixel")
self.selectedShape.points[2] += QPointF(1.0, 0) self.selectedShape.points[0] += QPointF(1.0, 0)
self.selectedShape.points[3] += QPointF(1.0, 0) self.selectedShape.points[1] += QPointF(1.0, 0)
elif direction == 'Up' and not self.moveOutOfBound(QPointF(0, -1.0)): self.selectedShape.points[2] += QPointF(1.0, 0)
# print("move Up one pixel") self.selectedShape.points[3] += QPointF(1.0, 0)
self.selectedShape.points[0] += QPointF(0, -1.0) elif direction == 'Up' and not self.moveOutOfBound(QPointF(0, -1.0)):
self.selectedShape.points[1] += QPointF(0, -1.0) # print("move Up one pixel")
self.selectedShape.points[2] += QPointF(0, -1.0) self.selectedShape.points[0] += QPointF(0, -1.0)
self.selectedShape.points[3] += QPointF(0, -1.0) self.selectedShape.points[1] += QPointF(0, -1.0)
elif direction == 'Down' and not self.moveOutOfBound(QPointF(0, 1.0)): self.selectedShape.points[2] += QPointF(0, -1.0)
# print("move Down one pixel") self.selectedShape.points[3] += QPointF(0, -1.0)
self.selectedShape.points[0] += QPointF(0, 1.0) elif direction == 'Down' and not self.moveOutOfBound(QPointF(0, 1.0)):
self.selectedShape.points[1] += QPointF(0, 1.0) # print("move Down one pixel")
self.selectedShape.points[2] += QPointF(0, 1.0) self.selectedShape.points[0] += QPointF(0, 1.0)
self.selectedShape.points[3] += QPointF(0, 1.0) self.selectedShape.points[1] += QPointF(0, 1.0)
self.shapeMoved.emit() self.selectedShape.points[2] += QPointF(0, 1.0)
self.repaint() self.selectedShape.points[3] += QPointF(0, 1.0)
self.shapeMoved.emit()
self.repaint()
def moveOutOfBound(self, step): def moveOutOfBound(self, step):
points = [p1+p2 for p1, p2 in zip(self.selectedShape.points, [step]*4)] points = [p1+p2 for p1, p2 in zip(self.selectedShape.points, [step]*4)]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册