Answers:
如果将一个矢量层的样式选项另存为.qml文件,则可以使用MultiQML插件一次将其应用于多个层。基本上,这是一个界面窗口,可让您选择要应用样式的图层(手动或“全选”),“应用样式”按钮可让您选择带有样式信息的qml。
可以在这里找到信息:MultiQML
这适用于QGIS 3.4 =>
您可以保存您的项目,关闭QGIS,在项目的.qgs文件中找到样式定义,然后将其粘贴到每个图层。
我编写了一个python脚本,如果要将样式应用于组或更多组中的所有图层,这可能会很有用。您所需要的只是一个保存的.qml文件,其中包含要应用于每种类型的图层的属性。
from qgis.core import *
import os
#copy line 9-21 and change file names and group names if you have more groups
QML_file = ('yourqmlfile.qml')#insert path to qml file
#add other qml files if you want to change style for more groups
def applystyle_group(name):
root = QgsProject.instance().layerTreeRoot()
point = root.findGroup(name) #Find Group
for child in point.children():
if isinstance(child, QgsLayerTreeLayer):
if child.layer().type()==0:
child.layer().loadNamedStyle(QML_file)#change the file name accordingly
#you can add styles for other types of layers in the same group (line, point and polygon)
try: #If group is not present this will keep script running if you want to add more
applystyle_group("*")#insert name of QGIS group
except Exception:
pass