जैसा कि आपने पहले ही उल्लेख किया है, यह अनुमान लगाना कठिन है कि कोई क्वेरी कितनी देर तक चलती है (क्वेरी के कारण और उसके मापदंडों के कारण, नेटवर्क के कारण, सर्वर लोड के कारण)।
वैसे भी आपको SQL प्रश्नों को QThreads में ले जाना चाहिए। यह आपके एप्लिकेशन को क्वेरी चलाने के दौरान GUI की सेवा करने की अनुमति देता है।
इसके अलावा मैं इसे टाइमआउट से हल करने की कोशिश नहीं करता। आप बहुत परेशानी में पड़ जाएंगे क्योंकि आप प्रत्येक प्रश्न और प्रत्येक स्थिति के लिए सही टाइमआउट चुनने में विफल रहेंगे। इसके बजाय एक बटन या संवाद द्वारा प्रश्नों को रद्द करने का एक तरीका प्रदान करें ताकि उपयोगकर्ता यह तय कर सके कि प्रतीक्षा जारी रखना उचित है या नहीं।