PyQGIS komut dosyasına kısayol atanıyor mu?


9

QGIS'deki İşleme Araç Kutusu'nun (özel veya değil ...) komut dosyasına klavye kısayolu atamak mümkün müdür?

Bu konuda hiçbir bilgi bulamadım.


Burada açıklanan eklentilere kısayol tuşları atayabilirsiniz: Yöntem kısayol tuşuyla nasıl çağrılır . Belki de bu bir senaryoda çalışmak üzere değiştirilebilir?
Joseph

Teşekkürler Joseph ... Bunu kontrol edeceğim!
17'de salyangoz

Yanıtlar:


9

Bu, Ctrl+ tuşuna basarak İşleme "Öznitelikleri birleştir" algoritmasının nasıl açılacağına bir örnektir ( 1kopyalayıp QGIS Python konsoluna yapıştırabilirsiniz):

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

Bu kadar! Ctrl+ 1Tuşlarına basarsanız , Katılma Nitelikleri Kullanıcı Arayüzü açılır:

resim açıklamasını buraya girin

Not 1: QGIS Python konsoluna şu satırları girerek kullanılabilir algoritmaların adlarını alabilirsiniz:

import processing
processing.alglist()

Not 2: Kapsamlı bir anahtar listesi için Qt4 belgelerine bakın .

Not 3: Kısayol ile algoritmanızın kullanıcı arayüzü arasındaki ilişkiyi bitirmek için arayabilirsiniz shortcut.activated.disconnect(openAlgorithm).


1
Kesinlikle yok ...
salyangoz

1
Teşekkür ederim. Bazı nedenlerden dolayı Qt belgelerinde QtWidgets altında QtGui (Qt4 ve Qt5 değil) QShortcut'u görüyorum. QGIS3 ve PyQt5 için benim durumumda yapmam gerekiyordu: PyQt5.QtWidgets ithal QShortcut
Miro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.