За допомогою 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();
але, можливо, у майбутній версії?