Ubah Stroke Width dari Polygon PyQGIS
Saya mencoba untuk mengatur Lebar kontur danau menjadi nol atau mengubah warna menjadi biru muda, karena saya tidak ingin melihat garis hitam. File vektor adalah Poligon (MultiPolygon) bernama vlayer2 dan saya telah mencoba perintah berikut:
vlayer2.setStrokeWidth(0)
vlayer2.setStrokeColor([49,179,245])
vlayer2.setWidth(0)
Tapi saya selalu mendapat pesan: '' AttributeError: 'QgsVectorLayer' object tidak memiliki atribut '....' ''

Jawaban
Metode yang Anda coba gunakan termasuk dalam kelas QgsSimpleMarkerSymbolLayer . Anda perlu mengakses lapisan simbol dari penyaji lapisan vektor Anda sebelum Anda dapat memanggil metode ini.
Hal berikut ini akan bekerja bagi Anda untuk menyetel warna guratan, dengan mengingat bahwa Anda perlu meneruskan QColor
objek ke metode ini:
vlayer2.renderer().symbol().symbolLayer(0).setStrokeColor(QColor(49, 179, 245))
vlayer2.triggerRepaint()
Sebagai alternatif, Anda dapat mengatur gaya guratan ke 'Tanpa Pena'. Mengatur lebar ke 0 akan tetap memberikan lebar 'garis rambut'.
vlayer2.renderer().symbol().symbolLayer(0).setStrokeStyle(Qt.PenStyle.NoPen)
vlayer2.triggerRepaint()
Saya sangat merekomendasikan untuk memeriksa Buku Resep Pengembang PyQGIS yang berisi banyak contoh berguna.