Za pomocą PyQGIS można zmieniać różne ustawienia, takie jak pogrubienie grup w panelu warstw (lub spisie treści):
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/legendGroupsBold", True)
Ustawienia są zapisywane, co można zobaczyć w opcjach lub po wpisaniu:
QSettings().value("/Qgis/legendGroupsBold")
>>> u'true'
Ale to się nie stosuje. Myślałem za pomocą
QSettings().sync()
może pomóc, ale niestety nie. Jedynym sposobem na jego zastosowanie byłoby przejście do GUI ( Settings > Options
), a następnie kliknięcie OKlub zrestartowanie QGIS.
Czy istnieje metoda wykonania tego za pomocą PyQGIS?
Kontekst :
Chcę dodać to jako makro w pliku projektu, aby upewnić się (ze względów estetycznych), że tylko nazwy grup są pogrubione, a nazwy warstw nie. Dlatego idealnie byłoby, gdyby ustawienia QSettings były stosowane po załadowaniu projektu (ustawienia początkowe byłyby ponownie zastosowane po zamknięciu projektu).
QSettings().setValue("/qgis/legendLayersBold", False)
Myślę, że problem jest w tej linii github.com/qgis/QGIS/blob/release-2_18/src/app/…
QgisApp::instance()->legend()->updateLegendItemStyles();
ale prawdopodobnie w przyszłej wersji?