PyQGIS स्क्रिप्ट का शॉर्टकट असाइन करना?


9

क्या QGIS में प्रोसेसिंग टूलबॉक्स की (कस्टम या नहीं ...) स्क्रिप्ट को कीबोर्ड शॉर्टकट असाइन करना संभव है?

मुझे इसके बारे में कोई जानकारी नहीं मिली है।


आप प्लगइन्स के लिए शॉर्टकट कुंजियाँ निर्दिष्ट कर सकते हैं जो यहाँ वर्णित है: मुख्य शॉर्टकट द्वारा किसी विधि को कैसे कॉल करें । शायद यह एक स्क्रिप्ट के भीतर काम करने के लिए संशोधित किया जा सकता है?
जोसफ

Thx यूसुफ ... मैं यह जाँच करने वाला हूँ!
घोंघा

जवाबों:


9

यह एक उदाहरण है कि प्रोसेसिंग "ज्वाइन एट्रीब्यूट्स" एल्गोरिदम को Ctrl+ दबाकर कैसे खोला 1जा सकता है (आप इसे QGIS पायथन कंसोल में कॉपी और पेस्ट कर सकते हैं):

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

बस! यदि आप Ctrl+ दबाते हैं 1तो ज्वाइन एटिट्यूड यूआई खुल जाएगा:

यहां छवि विवरण दर्ज करें

नोट 1: आप QGIS पायथन कंसोल में इन पंक्तियों को दर्ज करके उपलब्ध एल्गोरिदम के नाम प्राप्त कर सकते हैं:

import processing
processing.alglist()

नोट 2: कुंजियों की एक विस्तृत सूची के लिए Qt4 डॉक्स देखें ।

नोट 3: आप shortcut.activated.disconnect(openAlgorithm)शॉर्टकट और अपने एल्गोरिथ्म के UI के बीच सहयोग को समाप्त करने के लिए कॉल कर सकते हैं ।


1
यह सुनिश्चित करने के लिए करता है ...
घोंघा

1
धन्यवाद। किसी कारण से मैं QtWidgets के तहत Qt प्रलेखन QShortcut में देखता हूं और QtGui (Qt4 और Qt5 दोनों) नहीं। QGIS3 और PyQt5 के लिए मेरे मामले में मुझे करना था: PyQt5.QtWidgets से आयात QShortcut
Miro
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.