Das mag Sie nicht interessieren, aber ich dachte, es wäre nützlich, es zu bringen. Ich benutze selbst QtSingleApplication
und habe vor ein paar Tagen ein seltsames Verhalten erlebt. QtSingleApplication
scheint nicht unter allen Umständen zu funktionieren. Ich habe diese Erfahrung in Windows gemacht, aber abhängig davon, ob dies ein Windows-spezifischer Fehler ist oder durch das Design von QtSingleApplication
beabsichtigt ist, kann es auch für Linux gelten.
Je nachdem, wie Sie Ihre Anwendung starten, sind mehrere Instanzen möglich. Ich habe diese Erfahrung gemacht, als ich mit meinem Installer eine Testversion meiner Anwendung erstellte. Das Installationsprogramm startet die Anwendung nach dem Beenden automatisch. Als ich dann meine Anwendung über den Desktop-Link gestartet habe, hatte ich zwei Instanzen ausgeführt. Die Funktionalität von QtSingleApplication
hängt also davon ab, wie (und von welchem Benutzer?) Die Anwendung gestartet wird. Die Dokumentation ist unklar. Aber ich denke normalerweise würde man erwarten, dass dies unter allen Umständen funktioniert, wenn nicht anders angegeben.
Also, wenn Sie nicht die zusätzliche Funktionalität von QtSingleApplication
, QSystemSemaphore
oder QSharedMemory
hinzugefügt scheint der beste Weg zu gehen.
Sie sollten wirklich Antworten auf Ihre Fragen akzeptieren, es sei denn, Sie wollen nicht, dass die Leute mehr antworten. – ereOn