पर क्यूटी सिग्नल उत्सर्जित करें मैं एक गैर Qt थ्रेड से emit signal1()
पर कॉल कर रहा हूं। गैर क्यूटी थ्रेड द्वारा मेरा मतलब जीयूआई इवेंट लूप से नहीं है और किसी भी QThread रन() विधि या किसी QThread स्वयं ईवेंट लूप से नहीं है।गैर क्यूटी थ्रेड या यूसाइड क्यूटी मुख्य घटना लूप से 4.5
यह केवल एक pthread (pthread_create()) है जो QObject की एक विधि को कॉल करता है जो संकेतों को उत्सर्जित करता है।
पूर्व:
MyQbject: public QObject
{
...
void emitBunchOfSignals()
{
emit signal1();
emit signal2();
...
}
...
}
मेरी pthread की "रन" विधि है जो एक MyObject उदाहरण के लिए सूचक (उदाहरण के मुख्य क्यूटी जीयूआई धागा संदर्भ नहीं pthread भीतर बनाया गया था कि) है emitBunchOfSignals()
तरीकों कहता है।
क्यूटी 4.5 से पहले जो बुरा था। अब, क्यूटी 4.5 इसे संभालता है? क्या यह qApp->PostEvent()
या कुछ ऐसा है जो सिग्नल जीयूआई थ्रेड (और इस प्रकार स्लॉट भी) के भीतर सिग्नल उत्सर्जित होता है?
धन्यवाद
जब आप कनेक्ट करते हैं, तो आप स्पष्ट रूप से प्रकार को कतारबद्ध कनेक्शन सेट कर सकते हैं। –
उस समय आपको इस प्रश्न को लिखने के लिए लिया गया था, तो आप केवल कोड खोला और खुद को ढूंढ सकते थे। – shoosh
यह सीधे आगे नहीं लगता है क्योंकि यह Qt 3.xx के साथ क्रैश होता था। मैं कनेक्ट विकल्प (directconnection queuedconnection आदि) से परिचित हूं लेकिन मैंने सोचा कि यह केवल QTreads के बीच या QThread और मुख्य ईवेंट लूप के बीच काम करता है। यह क्यूटी 3.xx के साथ दुर्घटनाग्रस्त क्यों होता था कम से कम कोड को देखकर समझने के लिए सीधे आगे नहीं था। मैं पागल हो रहा हूँ ? –