Wie arbeiten Qt Designer und QGIS zusammen?


13

Ich versuche nur zu verstehen, wie QGIS und Designer zusammenarbeiten. Aus den hervorragenden Beiträgen von Nathan W weiß ich, wie man ein Benutzerformular erstellt und wie man es mit einer QGIS-Ebene verknüpft und wie man Validierungscode hinzufügt. Meine Fragen hier sind ziemlich naiv, aber das, was jeder kennt, ist genau das, was man im Druck nicht finden kann:

  1. Ist die mit QGIS gelieferte Kopie von Qt Designer ohnehin in die QGIS-GUI integriert (wie der Formular-Designer in ms-access den Rest von ms-access)?

  2. Kann ich Qt Designer in QGIS starten oder muss ich in der QGIS-Installation mit Windows Explorer herumfischen und die Qt Designer-Exe finden, auf die ich doppelklicken kann?

  3. Ist es besser, eine separate Version von Qt Designer / Qt Creator oder pyQt zu installieren, als den integrierten Qt Designer zu verwenden?
  4. Wird das vorgefertigte Windows-Installationsprogramm für neue Benutzer mit Qt Designer geliefert, der so konfiguriert ist, dass er für das Formular-Design verwendet werden kann?
  5. Ist PyQt eine gute Lösung, wenn ich nach einer Möglichkeit suche, Formulare mit Python-Validierungscode zu erstellen?
  6. Viele Datenerfassungsaufgaben sind nicht räumlich, z. B. das Hinzufügen einer Preisliste für Verkehrszeichen. Das GIS kann aufzeichnen, welche Schilder ersetzt werden müssen, aber die Preisliste wird benötigt, um einen Kostenvoranschlag zu erstellen. Gibt es überhaupt eine Möglichkeit, die Anzeige von Formularen für nicht räumliche Datentabellen auszulösen?

Antworten:


14

Ist die mit QGIS gelieferte Kopie von Qt Designer ohnehin in die QGIS-GUI integriert (wie der Formular-Designer in ms-access den Rest von ms-access)?

Nein, ist es nicht. Der Qt Designer kann in andere Anwendungen eingebettet werden, ich habe dies jedoch noch nicht für QGIS untersucht.

Kann ich Qt Designer in QGIS starten oder muss ich in der QGIS-Installation mit Windows Explorer herumfischen und die Qt Designer-Exe finden, auf die ich doppelklicken kann?

designer.exewird in einem bin\Ordner für die Installation von OSGeo4w installiert, es scheint jedoch, dass die wöchentlichen Builds dies noch nicht enthalten. Sollte nicht zu schwer sein, die nächtlichen wöchentlichen Pakete zu ergänzen. HINWEIS: Wenn Sie es selbst herunterladen möchten, um es in Ihre QGIS-Installation zu installieren. Laden Sie die folgende Datei herunter: http://download.osgeo.org/osgeo4w/release/qt/qt4-devel/qt4-devel-4.7.1-1.tar.bz2 und kopieren Sie die darin enthaltenen apps, bin, include, libOrdner in das Stammverzeichnis Ihrer QGIS-Installation.

Ist es besser, eine separate Version von Qt Designer / Qt Creator oder pyQt zu installieren, als den integrierten Qt Designer zu verwenden?

EDIT: Ich würde mich an die Pakete halten, die mit QGIS installiert werden, da es sich um die richtigen Versionen handelt. Sie benötigen Qt Creator nur, wenn Sie die QGIS-Codebasis erstellen.

Wird das vorgefertigte Windows-Installationsprogramm für neue Benutzer mit Qt Designer geliefert, der so konfiguriert ist, dass er für das Formular-Design verwendet werden kann?

Es ist im Moment nicht enthalten. Ich werde versuchen, es hinzuzufügen. Nach der Installation muss nichts mehr konfiguriert werden.

Ist PyQt eine gute Lösung, wenn ich nach einer Möglichkeit suche, Formulare mit Python-Validierungscode zu erstellen?

Ja

Viele Datenerfassungsaufgaben sind nicht räumlich, z. B. das Hinzufügen einer Preisliste für Verkehrszeichen. Das GIS kann aufzeichnen, welche Schilder ersetzt werden müssen, aber die Preisliste wird benötigt, um einen Kostenvoranschlag zu erstellen. Gibt es überhaupt eine Möglichkeit, die Anzeige von Formularen für nicht räumliche Datentabellen auszulösen?

Ja, es gibt Möglichkeiten, die PyQGIS-API und auch nur normales PyQt zu verwenden. Es hängt davon ab, was Sie tun müssen.


Vielen Dank für die guten klaren Anweisungen, alles hat funktioniert.
AndrewM
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.