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.


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:

# 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())

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

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.

| improve this answer | |
  • 1
    It does for sure ... – snaileater Nov 3 '15 at 17:36
  • 1
    Thank you. For some reason I see in Qt documentation QShortcut under QtWidgets and not QtGui (both Qt4 and Qt5). In my case for QGIS3 and PyQt5 I had to do: from PyQt5.QtWidgets import QShortcut – Miro Jul 22 '19 at 23:03

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.