2009-08-07 12 views
24

पर कॉल किए गए स्लॉट्स का ऑर्डर मेरे पास एक QObject है जिसमें कई स्लॉट इसके सिग्नल से जुड़े हुए हैं। क्या सिग्नल उत्सर्जित होने पर इनमें से प्रत्येक स्लॉट को कॉल किया जाता है?QObject

उत्तर

41

में क्यूटी v4.5 और पहले: नहीं, आदेश अपरिभाषित है के रूप में the documentation here में देखा जा सकता: कई स्लॉट एक संकेत से जुड़े हैं

हैं, स्लॉट्स एक के बाद एक निष्पादित किया जाएगा, एक मनमाना क्रम में, जब सिग्नल उत्सर्जित होता है।

संपादित करें: संस्करण 4.6 से आगे यह अब सत्य नहीं है। अब स्लॉट वे जुड़े हुए क्रम में चले जाएंगे। the current documentation के संगत पैरा:

कई स्लॉट एक संकेत से जुड़े रहे हैं, तो स्लॉट्स एक के बाद एक निष्पादित किया जाएगा, ताकि वे कनेक्ट किया गया है, जब सिग्नल उत्सर्जित होता है

+1

@ होसेनिन मेरा उत्तर QT संस्करण 4.6 तक सही था। यदि आप प्रश्न (और मेरा उत्तर) की तारीख देखते हैं, तो आप देखेंगे कि प्रश्न पूछे जाने पर यह सही जवाब था। ध्यान दें कि यारोस्लाव का जवाब एक साल बाद पोस्ट किया गया था। – sepp2k

+1

ठीक है, क्षमा करें, मेरा मतलब आपकी पोस्ट को कम करने का नहीं था। चूंकि यह प्रश्न मैंने Google खोज के पहले परिणाम के रूप में दिखाई दिया, इसलिए मैं आगे पाठकों को भ्रमित करने से रोकना चाहता था। – Hossein

+0

आपको विभिन्न धागे के लिए सत्य होने के लिए कतारबद्ध कनेक्शन का उपयोग करने की आवश्यकता है। बस केह रहा हू। – smsware

2

ऑर्डर अपरिभाषित है, अब तक, सभी क्यूटी संस्करणों में यह connect() ऑर्डर दिया गया है, सिवाय इसके कि Qt::QueuedConnection का उपयोग किया जाता है, बेशक, यह भी गारंटी नहीं देता है कि emit रिटर्न पर किसी भी या सभी स्लॉट निष्पादित किए गए हैं। हालांकि, आदेश पर निर्भर अभी भी निराश है।

9

क्यूटी प्रलेखन के अनुसार:

कई स्लॉट एक संकेत से जुड़े रहे हैं, तो स्लॉट्स एक के बाद एक , क्रम में वे कनेक्ट किया गया है निष्पादित किया जाएगा, संकेत है जब उत्सर्जित।

http://qt-project.org/doc/qt-4.8/signalsandslots.html

+2

गलत नहीं है। क्यूटी संस्करण पर निर्भर करता है। –

0

क्या आदेश स्लॉट निष्पादित किया जाएगा एक बुरा, बुरा विचार है, के रूप में यह धरा दोनों संकेत/स्लॉट कनेक्शन की भावना और आप अवांछित व्यवहार करता है, तो आप कर के लिए खुला छोड़ देता है पर निर्भर संकेतों के किसी भी प्रकार के प्रोग्रामेटिक कनेक्शन & स्लॉट।

संबंधित मुद्दे