Jeda Pelabelan di QGIS?

9

Apakah mungkin untuk menjeda / menghentikan pelabelan sementara di QGIS seperti di Arcmap untuk semua lapisan sekaligus?

Bilah alat label tidak menawarkan solusi.

RolandG
sumber

Jawaban:

11

QGIS 3.x

Anda bisa menggunakan kode berikut di Konsol Python untuk membuat tombol pada bilah alat yang mengganti label untuk semua lapisan vektor:

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)

Kode didasarkan pada pertanyaan: Cara menghidupkan / mematikan semua label dari semua lapisan di QGIS .


QGIS 2.18.x

Anda dapat menggunakan plugin Deactivate / Active Labels yang memiliki tombol untuk mengaktifkan / menonaktifkan label untuk semua lapisan:

Balikkan label

Yusuf
sumber
1
Joseph terima kasih. Itu yang saya cari. Sayang sekali, ini belum porting untuk Qgis 3.
RolandG
1
@RolandG - Selamat datang, menambahkan metode yang memungkinkan untuk QGIS 3 :)
Joseph
1
hilang plugin Deactivate / Active label! Memulai permintaan pada repo mereka untuk memutakhirkannya.
Nikhil VJ
@nikhilvj - Bagus! :)
Joseph