Както вече споменахте, трудно е да се предвиди колко дълго се изпълнява заявка (поради самата заявка и нейните параметри, поради мрежата, поради натоварването на сървъра).
Както и да е, трябва да преместите SQL заявките в QThreads. Това позволява на вашето приложение да обслужва GUI, докато се изпълняват заявките.
Също така не бих се опитал да разреша това чрез изчакване. Ще си навлечете много проблеми, защото няма да успеете да изберете правилните изчаквания за всяка заявка и всяка ситуация. Вместо това осигурете начин за анулиране на заявки чрез бутон или диалогов прозорец, така че потребителят да може да реши дали е разумно да продължи да чака или не.