С помощью PyQGIS вы можете изменять различные настройки, например выделять группы на панели слоев (или оглавлении) жирным шрифтом:
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/legendGroupsBold", True)
Настройки написаны, что можно увидеть из опций или набрав:
QSettings().value("/Qgis/legendGroupsBold")
>>> u'true'
Но это не применяется. Я думал, используя
QSettings().sync()
может помочь, но, к сожалению, нет. Единственный способ его применения - перейти в GUI ( Settings > Options
), затем щелкнуть OKили перезапустить QGIS.
Есть ли способ сделать это через PyQGIS?
Контекст :
Я хочу добавить это как макрос в файл проекта, чтобы гарантировать (в эстетических целях), что только имена групп выделены жирным шрифтом, а имена слоев - нет. Поэтому было бы идеально, если бы QSettings применялись, когда проект загружен (начальные настройки будут применены повторно, когда проект закрыт).
QSettings().setValue("/qgis/legendLayersBold", False)
.Я думаю , что проблема в этой строке github.com/qgis/QGIS/blob/release-2_18/src/app/...
QgisApp::instance()->legend()->updateLegendItemStyles();
но в будущей версии, вероятно?