Dengan PyQGIS, Anda dapat mengubah berbagai pengaturan seperti membuat grup di Panel Layers (atau daftar isi) tebal:
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/legendGroupsBold", True)
Pengaturan ditulis yang dapat dilihat dari opsi atau dari mengetik:
QSettings().value("/Qgis/legendGroupsBold")
>>> u'true'
Tapi itu tidak diterapkan. Saya pikir menggunakan
QSettings().sync()
mungkin membantu tetapi sayangnya tidak. Satu-satunya cara untuk menerapkannya adalah pergi ke GUI ( Settings > Options
) lalu klik OKatau mulai ulang QGIS.
Apakah ada metode untuk melakukan ini melalui PyQGIS?
Konteks :
Saya ingin menambahkan ini sebagai makro dalam file proyek untuk memastikan (untuk tujuan estetika) bahwa hanya nama grup yang tebal dan nama layer tidak. Oleh karena itu, akan ideal jika QSettings diterapkan ketika proyek telah dimuat (pengaturan awal akan diterapkan kembali ketika proyek ditutup).
pyqgis
table-of-contents
macro
Yusuf
sumber
sumber
QSettings().setValue("/qgis/legendLayersBold", False)
Saya pikir masalahnya ada di baris ini github.com/qgis/QGIS/blob/release-2_18/src/app/…QgisApp::instance()->legend()->updateLegendItemStyles();
tetapi dalam versi masa depan mungkin?Jawaban:
Saya pikir itu tidak mungkin kecuali Anda menulis kunci dengan status default ke Anda
\HKEY_CURRENT_USER\Software\QGIS\qgis\UI\state
lihat di sini .sebenarnya, ketika kita me-restart perangkat lunak secara otomatis melakukan ini untuk kita.
periksa solusi ini:
jika tidak berhasil, Anda harus menulis skrip untuk menulis ulang nilai registri itu.
untuk melakukannya, Anda perlu menggunakan winreg untuk memanipulasi nilai registri.
Anda dapat melihat kunci registri Anda melalui regedit.exe jika Anda menggunakan windows.
Saya harap ini membantu Anda ...
sumber