PyQGISを使用してレイヤーグループを追加しますか?[閉まっている]


8

Pythonコードを使用してレイヤーマネージャーで新しいグループを作成するにはどうすればよいですか?

回答:


17

レイヤーパネルへのグループの追加

新しいレイヤーツリー(QGIS v.2.4から導入され、QGIS v3.xで利用可能)を使用して、次の方法でQGIS ToCにグループを追加できます。

root = QgsProject.instance().layerTreeRoot()
myGroup1 = root.addGroup("My Group 1")

目次の特定の位置に追加する場合は、次を使用します。

myGroup1 = root.insertGroup(2, "My Group 1")

グループを他のグループに追加する

ネストされたグループを作成することもできます(グループからグループへ):

myGroupA = myGroup1.addGroup("My Group A")

新しいグループを配置する既存のグループを最初に見つける必要がある場合は、これを使用します。

myOriginalGroup = root.findGroup("My existing group") # We assume the group exists
myNewGroup = myOriginalGroup.addGroup("My New Group")

レイヤーツリーの処理について詳しくは、こちらこちらをご覧ください


ToCの意味の説明が見つかりませんか?
JACado 2017

1
レイヤーツリー、凡例、ToC。これらは、ソフトウェアでレイヤーとグループのリストを参照するときにGISで通常使用される名前です。
ヘルマン・カリージョ

4

QgsLegendInterface.addGroup(name、expand、parent)メソッドがあります

例:

iface.legendInterface().addGroup( 'abc')

どうもありがとうございました。問題は、インターフェイスを参照せず、QgsLegendInterface.addGroupを直接使用したことでした
malagueff

メニューを挿入する位置を制御する方法はありますか?選択した形状の下にメニューが挿入されます。すべてのレイヤーの上に置く必要があります。ありがとう。
マラゲフ2013

@malagueff、コメントごとに質問を編集してください。
アートワーク21
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.