Estoy tratando de configurar una aplicación que aceptará los archivos havin que se le han agregado. Por lo tanto, estoy buscando una forma de extraer la ruta cuando se incluyan.PyQt: Obteniendo el nombre del archivo para el archivo eliminado en la aplicación
Ahora mismo, tengo la opción de arrastrar y soltar habilitada para la parte derecha de la aplicación, y aceptará texto insertado, pero lo hago no saber cómo manejar tener un archivo cayó en
estoy utilizando:.
def PTE_dragEnterEvent(self, e):
if e.mimeData().hasFormat('text/plain'):
e.accept()
else:
e.ignore()
def PTE_dropEvent(self, e):
newText = self.ui.fileListPTE.toPlainText() + '\n\n' + e.mimeData().text()
self.ui.fileListPTE.setPlainText(newText)
qué está modificando ligeramente el código proporcionado en el Drag and Drop in PyQT4 tutorial.
no pude conseguir @ekhumoro respuesta a trabajar para mí, pero me dio más lugares para buscar, y me encontré con PyQT4: Drag and drop files into QListWidget que ayudó.
Además de las sugerencias hechas por ekhumoro, tuve que implementar el evento de movimiento de arrastre. Lo que finalmente utilicé parecido:
def dragEnterEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
def dragMoveEvent(self, event):
if event.mimeData().hasUrls:
event.setDropAction(QtCore.Qt.CopyAction)
event.accept()
else:
event.ignore()
def dropEvent(self, event):
if event.mimeData().hasUrls:
event.setDropAction(QtCore.Qt.CopyAction)
event.accept()
newText = self.ui.fileListPTE.toPlainText()
for url in event.mimeData().urls():
newText += '\n' + str(url.toLocalFile())
self.ui.fileListPTE.setPlainText(newText)
self.emit(QtCore.SIGNAL("dropped"))
else:
event.ignore()
Creo 'hasUrls' es una función, por lo que sus condiciones que lo utilizan siempre evaluar a' Verdadero ' – Cuadue