マップレイヤーを反復処理する方法がわかりません。コンテンツウィンドウで現在強調表示されているレイヤーにアクセスできますiface.activeLayer()
が、コードをすべてのレイヤーで動作させたいです。
この機能への簡単なアクセスを提供するAPIに何も表示されず、良いオンライン例が見つかりませんでしたが、何か見落としていたのかもしれません。
QgsMapLayerRegistryやQgsProjectをどのように使用しているかわかりません。QGIS 3.0.2では、これは機能しません。ただし、iface.mapCanvas()。layers()は行います。まあ、ちょっと。アクティブなレイヤー([レイヤー]ペインでチェックしたレイヤー)のみが表示されるようです。レイヤーペインでチェックされていないレイヤーも含め、すべてのレイヤーのリストを取得する方法を知っている人はいますか?また、プラグインビルダーを使用している場合は、プラグインのシェルが作成されます。run関数には「self」パラメーターがあり、ifaceを使用するために必要です。すなわち、self.iface.mapCanvas()。layers()、ちょうどfyi。
—
ajpieri