Apakah mungkin untuk membuka tabel atribut dari konsol Python atau melalui skrip Python di QGIS?
11
Ya Anda bisa, setidaknya dengan versi master terbaru dan 1.8. Ini adalah metode yang diekspos melalui iface
// C++ (signature)
void showAttributeTable (QgsVectorLayer *l)
# PyQGIS (example)
iface.showAttributeTable(iface.activeLayer())
Anda akan memerlukan referensi yang sudah ada sebelumnya untuk QgsVectorLayer.
Untuk mengedit fitur secara langsung, ini juga merupakan metode yang diekspos melalui iface :
// C++ (signature)
bool openFeatureForm (QgsVectorLayer *l, QgsFeature &f, bool updateFeatureOnly=false)
# PyQGIS (example)
iface.openFeatureForm(iface.activeLayer(), feature, False)
Anda akan membutuhkan referensi yang sudah ada sebelumnya untuk QgsVectorLayer dan QgsFeature dalam kedua kasus. Formulir fitur dibuka dan apakah itu dapat diedit tergantung pada pengaturan aplikasi dan apakah lapisan fitur dalam mode edit.
iface
hanya berfungsi untuk konsol atau skrip dijalankan dari dalam QGIS, termasuk plugin seperti Pemrosesan. Untuk konsol, ini diimpor secara otomatis untuk kenyamanan, dengan semua kasing lain yang memerlukanimport
ofqgis.utils
. Ini dijelaskan di awal buku masak PyQGIS . Anda tidak dapat mengaksesiface
di aplikasi mandiri, karena modul Python tidak membuat instantiate aplikasi GUI desktop QGIS.