Jawaban:
Ini disebutkan secara singkat dalam forum QGIS - Pengembang di mana Anda perlu menggunakan QgsMapLayer :: setCustomPropertylayer untuk mengaktifkan widget tertanam untuk lapisan Anda. Kami kemudian dapat menambahkan itemAdded
acara sehingga setiap kali layer ditambahkan, itu akan secara otomatis ditampilkan dengan widget transparansi.
Jadi Anda bisa menggunakan sesuatu seperti berikut ini di Python Console :
def transparency_slider():
for layer in QgsMapLayerRegistry.instance().mapLayers().values():
if layer.customProperty("embeddedWidgets/count") != 1 or layer.customProperty("embeddedWidgets/0/id") != u'transparency':
layer.setCustomProperty("embeddedWidgets/count", 1)
layer.setCustomProperty("embeddedWidgets/0/id", "transparency")
else:
pass
qgis.utils.iface.legendInterface().refreshLayerSymbology(layer)
# Connect "itemAdded" event to "transparency_slider" function
legend = qgis.utils.iface.legendInterface()
legend.itemAdded.connect(transparency_slider)
Diuji pada QGIS 2.18.3 untuk Win7 64-bit.
Contoh:
Memasukkan kode ke konsol python dan sebelum menambahkan shapefile:
Hasil:
legend.itemAdded.disconnect(transparency_slider)
konsol python;)
import qgis
; from qgis.core import QgsMapLayerRegistry
dalam naskah Anda :)
Ada sebuah plugin bernama Raster Transparency, yang seperti namanya, akan membuka panel dockable dengan slider untuk mengubah transparansi dari layer raster yang dipilih.
Buka Plugin> Kelola dan instal plugin - Temukan dan pasang, ikon terkait baru akan muncul di bilah alat Anda.