#!/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_())