1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #!/usr/bin/python
# dragdrop.py
import sys
import qt
class Button(qt.QPushButton):
def __init__(self, title, parent):
qt.QPushButton.__init__(self, title, parent)
self.setAcceptDrops(True)
def dragEnterEvent(self, event):
if 'text/plain' in event.format():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
texte=qt.QString(event.data(event.format()))
self.setText(texte)
class DragDrop(qt.QDialog):
def __init__(self, parent=None):
qt.QDialog.__init__(self, parent)
self.resize(280, 150)
self.setCaption('Simple Drag & Drop')
edit = qt.QLineEdit('', self)
edit.setDragEnabled(True)
edit.move(30, 65)
button = Button("Button", self)
button.move(170, 65)
screen = qt.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width()-size.width())/2,
(screen.height()-size.height())/2)
app = qt.QApplication(sys.argv)
icon = DragDrop()
app.setMainWidget(icon)
icon.show()
app.exec_loop() |
Partager