เป็นไปได้หรือไม่ที่จะหยุดชั่วคราว / หยุดการติดฉลากชั่วคราวใน QGIS เช่นเดียวกับใน Arcmap สำหรับทุกชั้นในคราวเดียว?
แถบเครื่องมือฉลากไม่มีวิธีแก้ปัญหา
เป็นไปได้หรือไม่ที่จะหยุดชั่วคราว / หยุดการติดฉลากชั่วคราวใน QGIS เช่นเดียวกับใน Arcmap สำหรับทุกชั้นในคราวเดียว?
แถบเครื่องมือฉลากไม่มีวิธีแก้ปัญหา
คำตอบ:
คุณสามารถใช้รหัสต่อไปนี้ในPython Consoleเพื่อสร้างปุ่มบนแถบเครื่องมือที่สลับเลเบลสำหรับเลเยอร์เวกเตอร์ทั้งหมด:
action = QAction(QIcon(""), "Turn labels" + "\n" + "ON/OFF", iface.mainWindow())
action.setCheckable(True)
iface.addToolBarIcon(action)
def label_control():
for layer in QgsProject.instance().mapLayers().values():
if layer.type() == QgsMapLayer.VectorLayer:
if action.isChecked() == True:
layer.setLabelsEnabled(True)
else:
layer.setLabelsEnabled(False)
layer.triggerRepaint()
action.triggered.connect(label_control)
# Uncomment line below if you want to remove the icon yourself,
# otherwise it will be removed automatically when you restart QGIS
iface.removeToolBarIcon(action)
รหัสอยู่บนพื้นฐานของคำถาม: วิธีการเปิด / ปิดป้ายชื่อทั้งหมดของทุกชั้นใน QGIS
คุณสามารถใช้ปลั๊กอินDeactivate / Active Labelsซึ่งมีปุ่มเพื่อเปิด / ปิดฉลากสำหรับเลเยอร์ทั้งหมด: