#!/usr/bin/python
#-*- encoding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore
class Widget(QtGui.QLabel):
def __init__(self):
QtGui.QLabel.__init__(self)
self.setAcceptDrops(True)
self.setMinimumSize(400,200)
self.__class__.dragEnterEvent = self.clDragEnterEvent
self.__class__.dropEvent = self.clDropEvent
def clDragEnterEvent(self, event):
print "dragenter"
event.accept()
print [ unicode(s) for s in event.mimeData().formats() ]
def clDropEvent(self, event):
print "drop"
event.accept()
try:
r = [ (s, unicode(event.mimeData().data(s), 'utf-8')) for s in event.mimeData().formats() ]
except UnicodeDecodeError, e:
print e
r = [ (s, str(event.mimeData().data(s)())) for s in event.mimeData().formats() ]
self.setText('
\n'.join([ "%s:
\n%s" % (h,
t.replace('\n', '
')) for h,t in r]))
app = QtGui.QApplication(sys.argv)
widget = Widget()
widget.show()
sys.exit(app.exec_())