Hallo Stefan, Bernhard, Claas und co :-)
echt schick das gemeinsame Brainstorming.
Die Idee mit QtCore.QFileInfo.lastModified() oder QFileSystemWatcher ist ne
gute Sache und definitiv besser als immer einen ForceReload zu machen.
Das Beispiel, das ich gestern Claas geschickt hatte (
@Stefan: top, das ist natürlich noch eleganter
@Claas: jetzt ist Dir alles klar, musst es nur noch umsetzen :-)
Bernhard
> Stefan Giese (WhereGroup) hat am 29.09.2022
> 13:09 CEST geschrieben:
>
>
> Hallo alle,
>
> gerade noch die Idee gehabt ob es so was wie ein watcher Klasse in Qt
>
Hallo alle,
gerade noch die Idee gehabt ob es so was wie ein watcher Klasse in Qt
gibt...und siehe da:
|from PyQt5.QtCore import QFileSystemWatcher watcher =
QFileSystemWatcher() watcher.addPath(filePath) watchedLayer = vlayer def
reload_watched_layer():
Hallo Thomas und Liste,
genau mit dem QTimer habe ich das seinerzeit auch gemacht. Bei mir war es auch
so, dass das andere Programm eine Textdatei geschickt bzw. etwas in die
Zwischenablage gelegt hat mit einem Schlüsselwort drin. Der QTimer prüft dann
regelmässig, ob was da ist und wenn ja,
Hallo in die Runde,
ich teile grundsätzlich die Bedenken gegen Lösungen, wo ein Timer im
Hintergrund läuft und im selben Thread werkelt und würde auch wenn möglich
Signale abgreifen.
Bei Änderungen an der DBF durch einen anderen Prozesses wird das allerdings
schwierig, weil QGIS ja nicht ohne
Hallo Bernhard und Stefan,
vielen Dank für die Unterstützung!
Das hilft mir schon mal wieder um weiter ins Python unter QGIS
einzusteigen. Das mit dem Slot-Signal-Konzept muss noch mal
durchfringen. Das hört sich aber sehr spannend an.
Ich hatte noch eine Mail von Thoma Baumann bekommen,
Hallo Bernhard,
ja stimmt - man muss schon lesen - habe ich tatsächlich gar nicht
gesehen, dass das von extern kommt.
Danke für die Anmerkung
Stefan
Am 29.09.2022 um 09:23 schrieb Bernhard Ströbl:
Hallo Stefan,
ich glaube nicht, dass das hier funktioniert, weil die Änderung an den
Hallo Stefan,
ich glaube nicht, dass das hier funktioniert, weil die Änderung an den
Attributdaten ja nicht innerhalb von QGIS geschieht sondern von einem Dritten
initiiert und durchgeführt wird, d.h. in QGIS wird das Signal gar nicht
emittet. Ich bin aber ganz bei Dir, dass das
Hallo Claas,
QGIS basiert auf Qt und verwendet das Signal-Slot Konzept. Ein Signal
wird von verschiedenen Objekten ausgesendet, wenn was bestimmtes
passiert. Ein Slot ist eine Funktion, die dann ausgeführt wird. Das wäre
der Weg, den Du verwenden solltest, also bloß keine Schleifen, Timer
sent from a phone
> On 28 Sep 2022, at 16:16, Claas Leiner wrote:
>
> Die While-Schleife soll im Sekundentakt prüfen, ob der Wert 50 eingetragen
> wurde und im Entdeckungsfall die Aktion auslösen.
> Wenn jetzt aber keine 50er gefunden werden, friert die While-Schleife QGIS
> ein.
ich weiß
Hi Claas,
ich hatte mal eine ähnliche Fragestellung und habe es mit einer eigenen Klasse
als Kind von QObject gelöst, darin läuft ein QTimer, der immer wieder neu
gestartet wird (und damit quasi im Hintergrund ist). Wenn sich was tut emittet
er ein QSignal, das im Hauptprogramm entsprechend
Hallo Kolleginnen und Kollegen,
ich bin ja jetzt auch immer wieder mit Python unterwegs
und versuche folgende umzusetzen:
In einem Punkt-Shapefile (leider Shapefile) gibt es
die Spalte M1. Wenn ein externes Programm auf die DBF zugrieft und den
Attributwert 50 in M1 einträgt, soll QGIS
12 matches
Mail list logo