Ich habe mehrere Stapelebenen stapelweise verarbeitet und jetzt wird der Anzeigename für jede Datei beim Zugriff auf die layer.name()
Funktion in QGIS "aufgelöst" . Ich habe in dieser Antwort von underdark zu Ändern des Layernamens des Ausgabevektors aus dem Verarbeitungsskript in QGIS gelesen . , dass ich den Namen auf den Dateinamen setzen kann, aber leider zu spät.
Ich kann alle Dateien in meinem Projekt in eine Liste mit aufnehmen
layers = iface.mapCanvas().layers()
und alle Namen damit:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
Mit Hilfe dieser Antwort auf Pfad des Projekts oder Layer-Datei in PyQGIS abrufen? Ich kann die Namen der Datei abrufen, mit der ich arbeite:
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
Das Lesen des API-Dokuments für den QgsVectorLayer hat mir nicht geholfen. Ich möchte die Dateien umbenennen, um den Dateinamen als Anzeigenamen anzuzeigen. Wie archiviere ich das mit der Python-Konsole?