예제 #1
0
파일: Canvas.py 프로젝트: YuHChen/Mozayik
 def dropEvent(self, event):
     #print("drop event occurred")
     #msg = 'dropping at {0} {1}'.format(event.pos().x(), event.pos().y())
     actions = event.dropAction()
     #print(msg,translate_actions(actions))
     if actions & Qt.CopyAction:
         event.acceptProposedAction()
         if (event.mimeData().hasImage() and event.mimeData().hasText()):
             pixmap = QPixmap(event.mimeData().imageData())
             name = event.mimeData().text()
             tile = Tile(name,pixmap)
             tile.setCanMove(True)
             tile.setCanStretch(True)
             self.tileList.append(tile)
             self.layout().addWidget(tile)
             event.accept()
     elif actions & Qt.MoveAction:
         #print("move tile")
         targ = self.layout().itemAtPos(event.pos())
         if targ is not None:
             self.layout().swapWidgets(self.curTile, targ)
             temp = targ.getName()
             targ.setName(self.curTile.getName())
             self.curTile.setName(temp)
             event.acceptProposedAction()
     else:
         event.ignore()