QGISのプラグイン作成 LayerTreeViewのサンプル
はじめに
このサンプルは、ツリービューからレイヤを選択してアクティブにした時に、そのことをPythonコンソールに表示します。
使い方
ここからzipファイルをダウンロードしてインストールします。
プラグイン実行中に、レイヤウィンドウでレイヤを選択すると...
選択されていたレイヤ名と、現在選択されているレイヤ名がPythonコンソールに表示されます。
コード
class LayerTreeViewSample(QgsMapTool): def changeLayer(self, layer): if (layer == None): # レイヤウィンドウに何も無い状態 self.currentlayer = None self.cleared.emit() return if self.currentlayer != None: print(self.currentlayer.name() + 'が非アクティブになりました。') print(layer.name()+'がアクティブになりました。') self.currentlayer = layer def start(self): self.currentlayer = self.iface.layerTreeView().currentLayer() self.iface.layerTreeView().currentLayerChanged.connect(self.changeLayer) ~略~ def finish(self): self.iface.layerTreeView().currentLayerChanged.disconnect(self.changeLayer) ~略~
18行目 現在アクティブなレイヤ名を取得しておきます。
11行目 ツリービューのアクティブレイヤが変わったら、アクティブだったレイヤ名を表示して...
13行目 アクティブになったレイヤ名を表示させます。
コード全文
最後までご覧いただき、ありがとうございました。