ด้วย 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)
.i คิดว่าปัญหาคือในบรรทัดนี้github.com/qgis/QGIS/blob/release-2_18/src/app/...
QgisApp::instance()->legend()->updateLegendItemStyles();
แต่ในรุ่นอนาคตอาจ?