使用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(在项目关闭时将重新应用初始设置)。
当您调用sync()提交更改时,您是否又调用status()?
—
whyzar
@whyzar-谢谢,但也进行了测试,仍然没有任何改变。
—
约瑟夫
它是如此奇怪,也许是因为错误使用时相同
—
弗兰拉格
QSettings().setValue("/qgis/legendLayersBold", False)
。我认为这个问题是在这条线github.com/qgis/QGIS/blob/release-2_18/src/app/...
可能的方法是,
—
Fran Raga
QgisApp::instance()->legend()->updateLegendItemStyles();
但可能在将来的版本中?
@FranciscoRaga-感谢您的链接,它似乎确实是一个错误。我原本打算发布一个错误报告,但是随着QGIS 3.0即将发布,我将拭目以待,看看新版本中是否仍然存在此问题=)
—
Joseph