Tôi đã xử lý một loạt các lớp vectơ và bây giờ tên hiển thị cho mọi tệp bị "hòa tan" khi truy cập layer.name()
hàm trong QGIS. Tôi đã đọc trong câu trả lời này từ phần dưới cho đến Thay đổi tên lớp của vectơ đầu ra từ tập lệnh xử lý trong QGIS? , rằng tôi có thể đặt tên thành tên tệp nhưng không may quá muộn.
Tôi có thể đưa tất cả các tệp trong dự án của mình vào danh sách với
layers = iface.mapCanvas().layers()
và tất cả các tên với điều này:
names = [layer.name() for layer in QgsMapLayerRegistry.instance().mapLayers().values()]
Với sự giúp đỡ của câu trả lời này để lấy đường dẫn của dự án hoặc tệp lớp trong PyQGIS? , Tôi có thể lấy tên của tệp tôi đang làm việc với:
import os
real_names = []
for li in layers:
(myDirectory,nameFile) = os.path.split(li.dataProvider().dataSourceUri())
real_names.append(nameFile.split("|")[0]
Đọc tài liệu API cho QssVectorLayer không giúp tôi. Điều tôi muốn là đổi tên các tập tin để hiển thị tên tệp dưới dạng tên hiển thị. Làm thế nào để lưu trữ với bảng điều khiển python?