2010-01-19 15 views
14

मुझे पता है कि उन्हें एक साथ उपयोग किया जा सकता है, लेकिन मैं सोच रहा हूं कि कार्यक्रम के क्यूटी भागों (विजेट्स और ऐसे) में बूस्ट सिग्नल के साथ क्यूटी के संकेतों और स्लॉट तंत्र को प्रतिस्थापित करना संभव है या नहीं।क्यूटी के सिग्नल के बजाय Boost.Signal का उपयोग करें? मोक के बिना करो?

कोई भी इसे आजमाता है? कोई गॉथस?

मान लीजिए कि मैं किसी अन्य एमओसी सुविधाओं का उपयोग नहीं करता हूं और boost.signal के साथ सिग्नल/स्लॉट को प्रतिस्थापित करता हूं, क्या यह पूरी तरह से मोक के बिना करना संभव है?

+0

[मिश्रण क्यूटी और बूस्ट] (http://stackoverflow.com/questions/360160/mixing-qt-and-boost/695398) –

उत्तर

3

मुझे नहीं लगता कि यह ऐसा कुछ है जिसे आप करना चाहते हैं। क्यूटी के सिग्नल ढांचे में गहराई से एकीकृत होते हैं और वे कैसे उत्पन्न होते हैं और कैसे संभाले जाते हैं। अपना समय बर्बाद न करें :)

4

मैंने इसे अपनी परियोजनाओं में से एक के लिए माना। एक पहलू जो आपको परेशान कर सकता है, परियोजना के आधार पर Qt Designer का उपयोग है। Qt-Designer अपने जीयूआई कनेक्शन के लिए सिग्नल-स्लॉट बनाता है। इसलिए, यदि आप डिज़ाइनर का उपयोग करते हैं, तो आप signals-slots और boost::signals दोनों वाली परियोजनाओं के साथ समाप्त हो जाएंगे। उन्हें एक साथ उपयोग करने के साथ कुछ मुद्दे हैं f.e. this ब्लॉग देखें। हालांकि उनके साथ मिलकर काम करना संभव है, लेकिन मैं दो दृष्टिकोणों को मिश्रण करने से बचना चाहता हूं।

लेकिन मुझे सबसे बड़ी समस्या का सामना करना पड़ा था कि boost::signals थ्रेड-सुरक्षित नहीं है जबकि क्यूटी का signal-slot है! तो यह मेरे लिए आसान निर्णय था क्योंकि मेरी परियोजना बहुप्रचारित थी।

आप से Page-11this पीडीएफ के रिश्तेदार गुण और दृष्टिकोण बढ़ावा द्वारा उठाए गए और क्यूटी की डी-गुण प्राप्त कर सकते हैं।

HTH

+7

Boost.Signals2 धागा सुरक्षित है। और मैं क्यूटी डिजाइनर का उपयोग नहीं कर रहा हूं, इसलिए यह कोई समस्या नहीं होगी। – drby

+0

@drby: आपके बारे में क्या निर्माण? क्या यह qmake का उपयोग कर * एमओसी * मैक्रो का उपयोग करने के लिए स्वचालित है? यदि हां, तो आपको इसे भी बदलना पड़ सकता है। यदि नहीं, तो मैं किसी भी समय बढ़ावा देना पसंद करूंगा, क्योंकि यह अधिक प्रकार का है। सौभाग्य। – Abhay

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