ich habe wieder mal ein QT-Problem. Ich habe ein Fenster mit einer QtableView-Tabelle, welche XML-Pfade hält. Mittels Drag and Drop kann ich die Pfade in andere QT-Fenster ziehen. Ist das Zielfenster (in meinem Fall "notepad++") jedoch keine QT-Anwendung versagt die Funktion. Ich bekomme im notepad++ das Verbotszeichen angezeigt, dass ich hier nicht "droppen" kann. Die XML-Files sollen logischerweise im notepad++ dann automatisch geöffnet werden. Ist das überhaupt möglich, wenn ja, wo liegt mein Fehler?
Der Quelltext sieht folgendermaßen aus:
Code: Alles auswählen
def mouseMoveEvent(self, e: QtGui.QMouseEvent) -> None:
"""
Pfade der selektierten XML-Files aus tableView in andere Widgets ziehen
"""
if e.buttons() == QtCore.Qt.LeftButton:
files = self.getXmlsFrom_tableView() # Pfade der selektierten XMLs aus tableView holen
mimedata = QtCore.QMimeData()
# Pfade als String nach QURL umwandeln und zu mimedata hinzufuegen
mimedata.setUrls([QtCore.QUrl.fromLocalFile(f) for f in files])
drag = QtGui.QDrag(self)
drag.setMimeData(mimedata) # Pfade dem Dragobjekt hinzufuegen
drag.setPixmap(self.pixmap) # Bildchen am Mauszeiger hinzufuegen
drag.exec_() # Dragvorgang starten
Vielen dank für eure Hilfe schon im Vorraus.
Martin