[PyQt] drag and drop issue.
Jean-Baptiste BUTET
ashashiwa at gmail.com
Thu May 1 17:50:33 BST 2008
Hi all :)
I'm programming drag and drop situation where pixmap is dragged from
my pyqt application to openoffice.
I have implement dragevent and mousspressevent, and it seems to work.
But openoffice (xorg ?) don't see it as a droppable object.
a video of issue:
http://ashashiwa.free.fr//images_diverses/out.ogv
my entire code :
svn co svn://svn.tuxfamily.org/svnroot/oppl/pylewis
drag and drop piece of code:
def dragEnterEvent(self, event):
print "dragEnterEvent"
if (event.mimeData().hasFormat("application/x-dnditemdata")):
if (event.source()==self):
event.setDropAction(Qt.MoveAction)
event.accept()
else:
event.acceptProposedAction()
else:
event.ignore()
def mousePressEvent(self, event):
print "pouet"
child = self.childAt(event.pos())
child = self.childAt(event.pos())
if (not child):
print "no children"
return
print "children"
pixmap = child.pixmap()
itemData = QByteArray()
dataStream = QDataStream(itemData, QIODevice.WriteOnly)
dataStream << pixmap << QPoint(event.pos()-child.pos())
mimeData = QMimeData()
mimeData.setData("application/x-dnditemdata", itemData)
print "dans la square box"
drag = QDrag(self)
drag.setMimeData(mimeData)
drag.setPixmap(pixmap)
drag.setHotSpot(event.pos()-child.pos())
tempPixmap = QPixmap(pixmap)
child.setPixmap(tempPixmap)
if (drag.start(Qt.CopyAction | Qt.MoveAction) == Qt.MoveAction):
child.close()
else:
child.show()
child.setPixmap(pixmap)
Could it be a mimetype pb ?
Clear skies,
JB
--
http://astrolix.org
association des linuxiens astronomes
More information about the PyQt
mailing list