[PyKDE] D'nD problem
Thierry Jouve
jouve at esrf.fr
Tue Jul 2 15:03:00 BST 2002
Hi,
I have a problem with drag'n drop...
I want to drag and drop only a string between two widgets. It's quite
simple to realise, but it doesn't work...
For example :
#!/usr/bin/env python
from qt import *
class IconViewSource(QIconView):
def __init__(self, parent = None, name = None) :
QIconView.__init__(self, parent, name)
def dragObject(self) :
print "iv1.dragObject"
item = self.currentItem()
if (not item) :
return
return QTextDrag(str(item.text()), self)
class IconViewTarget(QIconView):
def __init__(self, parent = None, name = None) :
QIconView.__init__(self, parent, name)
self.setAcceptDrops(1)
def dragEnterEvent(self, event) :
print " iv2.gragEnterEvent"
event.accept(1)
def dropEvent(self, event) :
print " >>> iv2.dropEvent"
print "dropEvent"
import sys
qa = QApplication(sys.argv)
f = QFrame()
f.show()
layout = QHBoxLayout(f)
ivSource = IconViewSource(f)
ivTarget = IconViewTarget(f)
ivSource.show()
ivTarget.show()
ivi1 = QIconViewItem(ivSource, "item11")
ivi2 = QIconViewItem(ivSource, "item12")
ivi3 = QIconViewItem(ivSource, "item13")
ivi1.setDragEnabled(1)
ivi2.setDragEnabled(1)
ivi3.setDragEnabled(1)
layout.addWidget(ivSource)
layout.addWidget(ivTarget)
qa.setMainWidget(f)
qa.exec_loop()
With this script, all is good, except that "dropEvent" method is not
called in the target widget when user released the mouse button... And I
don't know why !!
Another thing : dragEnterEvent is not called everytime.... If user move
the mouse a little bit fast, the method is not called....
I have search in Qt doc, in PyQt doc, and I have not found anything
Python : 2.1.1
Qt :3.0.2
PyQt : 3.2.4
Linux : 2.4.7
--
Thierry JOUVE
BLISS GROUP - ESRF
Mail : jouve at esrf.fr, Office : 155b, Tel : 29-46
More information about the PyQt
mailing list