Это может не касаться вас, но я подумал, что было бы полезно рассказать об этом. Я сам пользуюсь QtSingleApplication
и несколько дней назад пережил странное поведение. QtSingleApplication
, кажется, не работает при любых обстоятельствах. Я сделал это в Windows, но в зависимости от того, является ли это ошибкой, специфичной для Windows или предназначенной для QtSingleApplication
, это также может относиться к Linux.
В зависимости от способа запуска приложения возможны несколько экземпляров. Я испытал это, когда сделал тест-драйв своего приложения с помощью моего установщика. Установщик автоматически запускает приложение после завершения. Когда я запустил свое приложение, используя ссылку на рабочий стол, у меня было запущено два экземпляра. Таким образом, функциональность QtSingleApplication
, похоже, зависит от того, как (и каким пользователем?) Запущено приложение. В документации неясно об этом. Но я думаю, что обычно можно ожидать, что это сработает при любых обстоятельствах, если не указано иное.
Так что, если вам не нужны дополнительные функции, добавленные QtSingleApplication
, QSystemSemaphore
или QSharedMemory
, кажется, лучший путь.