Daha çox

QGIS-də PyQGIS skriptinə qısayol təyin etmək


(Xüsusi və ya ...) skriptinə bir klaviatura qısayolu təyin etmək mümkündürmü? Alət qutusu işlənir QGIS-də?

İndiyə qədər bu barədə heç bir məlumat tapa bilmədim.


Bu, "Qoşulma atributlarına qoşul" alqoritmini basaraq açmağın bir nümunəsidir Ctrl + Shift + 1 (onu kopyalayıb QGIS Python konsoluna yerləşdirə bilərsiniz):

QGIS v3.x üçün

# "Qeyd atributları" alqoritminin UI def openAlgorithm () açma funksiyası: Processing.execAlgorithmDialog ("native: joinattributestable") # qgis.PyQt.QtGui-dən qgis.PyQt.QtGui QQeySequence idxal QKeySequence-dən "Ctrl + Shift + 1" təyin edin. PyQt.QtWidgets QShortcut'u qgis.PyQt.QtCore idxal Qt qısa yolu = QShortcut (QKeySequence (Qt.ControlModifier + Qt.ShiftModifier + Qt.Key_1), iface.mainWindow ()) shortcut.setContext (Qt.Applic) qoşun (openAlgorithm)

Bu belədir! Əgər basarsanız Ctrl + Shift + 1 atributlara qoşulma interfeysi açılacaqdır:


Qeyd 1.1: Bu şəkildə alqoritm kimliklərinin və adlarının oxunaqlı bir siyahısını əldə edin:

algs üçün QgsApplication.processingRegistry (). alqoritmlər (): print ("{}: {} -> {}". format (alg.provider (). name (), alg.name (), alg.displayName ( )))

Qeyd 1.2: Hərtərəfli düymələrin siyahısı üçün Qt5 sənədlərinə baxın.

QGIS v2.x üçün

# "Qeyd atributları" alqoritminin istifadəçi interfeysini açmaq üçün işləmə # Bax http://gis.stackexchange.com/questions/156633/how-to-launch-processing-tool-user-interface-using-pyqgis from processing.core.Processing idxal Processing from Processing.gui.CommanderWindow import CommanderWindow cw = CommanderWindow (iface.mainWindow (), iface.mapCanvas ()) def openAlgorithm (): alg = Processing.getAlgorithm ("qgis: joinattributestable") əgər alg yoxdursa: cw .runAlgorithm (alg) # PyQt4.QtWidgets-dən openQalorithm () -ə PyQt4.QtWidgets-dan QShortcut'u PyQt4.QtGui-dən idxal QKeySequence'dan PyQt4.QtCore import Qt kısayol = QShortcut (QKeySiftt Qtey + Qifadəsinə Qq.Yüksəklik (QKeySier) Qt.Key_1), iface.mainWindow ()) shortcut.setContext (Qt.ApplicationShortcut) shortcut.activated.connect (openAlgorithm)

Bu belədir! Əgər basarsanız Ctrl + Shift + 1 atributlara qoşulma interfeysi açılacaqdır:

Qeyd 2.1: Bu satırları QGIS Python konsoluna daxil edərək mövcud alqoritmlərin adlarını əldə edə bilərsiniz:

idxal emal Processing.alglist ()

Qeyd 2.2: Hərtərəfli açar siyahısı üçün Qt4 sənədlərinə baxın.

Qeyd 2.3: Zəng edə bilərsinizqısayol.aktivləşdirilib.dəstəyə bağla (openAlgorithm)qısa yol və alqoritminizin interfeysi arasındakı əlaqəni bitirmək.