8

Is it possible to assign a keyboard shortcut to a (custom or not...) script of the Processing Toolbox in QGIS?

I have not found any information about it.

8

This is an example of how to open the Processing "Join attributes" algorithm by pressing Ctrl + 1 (you can copy and paste it into the QGIS Python console):

# Function to open the "Join attributes" algorithm's UI
# See http://gis.stackexchange.com/questions/156633/how-to-launch-processing-tool-user-interface-using-pyqgis
from processing.core.Processing import Processing
from processing.gui.CommanderWindow import CommanderWindow
cw = CommanderWindow(iface.mainWindow(), iface.mapCanvas())
def openAlgorithm():
    alg = Processing.getAlgorithm("qgis:joinattributestable")
    if alg is not None:
        cw.runAlgorithm(alg)

# Assign "Ctrl+1" to openAlgorithm()
from PyQt4.QtGui import QShortcut, QKeySequence
from PyQt4.QtCore import Qt
shortcut = QShortcut(QKeySequence(Qt.ControlModifier + Qt.Key_1), iface.mainWindow())
shortcut.setContext(Qt.ApplicationShortcut)
shortcut.activated.connect(openAlgorithm)

That's it! If you press Ctrl + 1 the Join Attributes UI will open:

enter image description here

Note 1: You can get the names of the available algorithms by entering these lines in the QGIS Python console:

import processing
processing.alglist()

Note 2: See Qt4 docs for a comprehensive list of keys.

Note 3: You can call shortcut.activated.disconnect(openAlgorithm) to finish the association between the shortcut and your algorithm's UI.

  • 1
    Thanks Joseph, I find it also useful for myself. I hope it solves the question by @snaileater – Germán Carrillo Nov 3 '15 at 14:17
  • 1
    It does for sure ... – snaileater Nov 3 '15 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.