On 09/09/10 14:29, Massimo Di Stefano wrote:
tring to learn how to use the Drag class, i tried to hack the 
"draggabletext.py" from the pyqt source :

- http://www.geofemengineering.it/draggabletext_.py

i'm now blocked on how to reuse the same code
to drag a QTableWidgetItem from a QtTablewidjet,
the code i'm starting from is :

- http://www.geofemengineering.it/table_ui.py

- http://www.geofemengineering.it/table.py

i'm tring to learn how to use the class " bool QTableWidget::dropMimeData " 
have you any hints ?

i don't know what program you're using to view kml files, but the following works for me if i drop the url onto google-earth:


import sys, os
from PyQt4.QtCore import Qt, SIGNAL, QMimeData, QUrl
from PyQt4.QtGui import (
    QApplication, QTableWidget, QTableWidgetItem, QDrag,
    )

class Window(QTableWidget):
    def __init__(self):
        QTableWidget.__init__(self, 1, 1)
        self.setEditTriggers(QTableWidget.NoEditTriggers)
        self.connect(self, SIGNAL('itemPressed(QTableWidgetItem*)'),
                     self.handleItemPressed)
        kmlfile = os.path.join(os.getcwd(), 'test.kml')
        self.setItem(0, 0, QTableWidgetItem(kmlfile))

    def handleItemPressed(self, item):
        if app.mouseButtons() == Qt.LeftButton:
            drag = QDrag(self)
            data = QMimeData()
            data.setUrls([QUrl.fromLocalFile(item.text())])
            drag.setMimeData(data)
            drag.exec_()


if __name__ == "__main__":
   app = QApplication(sys.argv)
   win = Window()
   win.show()
   sys.exit(app.exec_())

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to