複数のベクターレイヤーのバッチ処理を行ったところlayer.name()
、QGIS の関数にアクセスすると、すべてのファイルの表示名が「解決」されました。私はこの回答をアンダーダークからQGISの処理スクリプトからの出力ベクトルのレイヤー名の変更に読みましたか?、名前をファイル名に設定できますが、残念ながら手遅れです。
私のプロジェクトのすべてのファイルをリストに含めることができます
layers = iface.mapCanvas().layers()
これを含むすべての名前:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
プロジェクトのパスまたはPyQGISのレイヤーファイルを取得するためのこの答えの助けを借りて?、使用しているファイルの名前を取得できます。
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
読み込みQgsVectorLayerのためのAPIのドキュメンタリーのdidntは私を助けました。私が欲しいのは、ファイル名を表示名として表示するようにファイルの名前を変更することです。Pythonコンソールでそれをアーカイブする方法は?