Como ya mencionó, es difícil predecir cuánto tiempo se ejecuta una consulta (debido a la consulta en sí y sus parámetros, debido a la red, debido a la carga del servidor).
De todos modos, debe mover las consultas SQL a QThreads. Esto permite que su aplicación sirva la GUI mientras se ejecutan las consultas.
Además, no intentaría resolver esto mediante tiempos de espera. Te meterás en muchos problemas porque no podrás elegir los tiempos de espera correctos para cada consulta y cada situación. En su lugar, proporcione una forma de cancelar consultas mediante un botón o un cuadro de diálogo para que el usuario pueda decidir si es sensato continuar esperando o no.