回答:
はい、できます。少なくとも最新のマスターバージョンと1.8では可能です。それはあるのifaceを経て公開されたメソッド
// C++ (signature)
void showAttributeTable (QgsVectorLayer *l)
# PyQGIS (example)
iface.showAttributeTable(iface.activeLayer())
QgsVectorLayerへの既存の参照が必要になります。
フィーチャーを直接編集する場合は、ifaceを介して公開されるメソッドでもあります。
// C++ (signature)
bool openFeatureForm (QgsVectorLayer *l, QgsFeature &f, bool updateFeatureOnly=false)
# PyQGIS (example)
iface.openFeatureForm(iface.activeLayer(), feature, False)
どちらの場合も、QgsVectorLayerとQgsFeatureへの既存の参照が必要です。開かれたフィーチャフォームと編集可能かどうかは、アプリの設定と、フィーチャのレイヤーが編集モードかどうかによって異なります。
iface
は、Processingなどのプラグインを含め、QGIS内から実行されるコンソールまたはスクリプトに対してのみ機能します。コンソールの場合、便宜上自動インポートされますが、他のすべてのケースではが必要import
ですqgis.utils
。これについては、PyQGISクックブックの冒頭で説明しています。iface
PythonモジュールはQGISデスクトップGUIアプリケーションをインスタンス化しないため、スタンドアロンアプリではアクセスできません。