Я не эксперт по Python (или PyQt), но поставленное в очередь соединение получает только после того, как приложение снова входит в цикл обработки событий, тогда как нормальное соединение соответствует прямому вызову функции.Так что, думаю, в вашем случае вам придется подождать, пока приложение не войдет в цикл обработки событий для вызова слота (хотя я не вижу никаких объектов приложения в вашем коде).
РЕДАКТИРОВАТЬ: И я сомневаюсь, что он удаляет дублирующиеся вызовы, так как Qt не знает, является ли это дублирующим вызовом или концептуально другим вызовом, который должен быть выполнен дополнительно.