I'm trying to do dragdrop work but dont have success. In the example below the only print is ListView.dragEnterEvent.
Any suggestion? -- Reinaldo Carvalho http://korreio.sf.net #!/usr/bin/env python from qt import * class ListView(QListView) : def __init__(self, parent = None, name = None) : QListView.__init__(self, parent, name) self.connect(self, SIGNAL("dropped(QDropEvent *)"), self.itemDropped) def dragEnterEvent(self, qDragEnterEvent) : print "ListView.dragEnterEvent" qDragEnterEvent.accept(1) def dragObject(self) : item = self.currentItem() if (not item) : return itemName = str(item.text(0)) d = QTextDrag(itemName, self) return d def itemDropped(self, qDropEvent) : print "ListView.dropped" class ListViewItem(QListViewItem) : def __init__(self, parent, text) : QListViewItem.__init__(self, parent, text) def dragEntered(self) : print "ListViewItem.dragEntered" def acceptDrop(self, mimeSource) : print "ListViewItem.acceptDrop" return 1 def dropped(self, dropEvent) : print "ListViewItem.dropped" qStr = QString() decode = QTextDrag.decode(dropEvent, qStr) if (not decode) : return itemName = str(self.text(0)) droppedItemName = str(qStr) self.listView().emit(PYSIGNAL("dropOnItem"), (itemName, droppedItemName)) class dnd (QWidget) : def __init__(self, parent = None, name = None) : QWidget.__init__(self, parent, name) self.listview1 = ListView(self) self.listview2 = ListView(self) self.listview1.addColumn("col1") self.listview2.addColumn("col2") self.listview1.setGeometry(QRect(45,31,221,250)) self.listview2.setGeometry(QRect(316,32,231,240)) self.listview1.show() self.listview2.show() self.listview2.setAcceptDrops(1) qlvi1 = QListViewItem(self.listview1, "Item11") qlvi1.setDragEnabled(1) qlvi2 = ListViewItem(self.listview2, "Item21") qlvi2.setDropEnabled(1) if __name__ == "__main__" : import sys qa = QApplication(sys.argv) d = dnd() d.show() qa.setMainWidget(d) qa.exec_loop() _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt