2009-11-13 10 views
49

मुझे वेब पर विवादित उत्तर मिल गए हैं - कुछ कहते हैं कि यह करता है, कुछ कहते हैं कि यह नहीं करता है। मैं आधिकारिक क्यूटी दस्तावेज में या तो कोई विवरण नहीं ढूंढ पाया। तो क्या क्यूटी में सी बाइंडिंग है या नहीं?क्या क्यूटी के पास सी इंटरफ़ेस है?

उत्तर

49

संक्षिप्त उत्तर: नहीं।

यदि आपको सी के लिए एक व्यापक जीयूआई टूलकिट की आवश्यकता है, तो आप जीटीके + का उपयोग कर सकते हैं।

क्यूटी का उपयोग करने के लिए, में एक C++ कंपाइलर होना चाहिए। लेकिन इसका मतलब यह नहीं है कि आपका "एप्लिकेशन लॉजिक" सी में लिखा नहीं जा सकता है, सी संकलक के साथ संकलित किया गया है और सी ++ भाग (क्यूटी के साथ जीयूआई) से सावधानी से जुड़ा हुआ है। यह एप्लिकेशन तर्क अन्य निष्पादन योग्य (शुद्ध-सी, मिश्रित सी/सी ++, आदि) में सामान्य, लिंक करने योग्य हो सकता है। यह सब आपके लिए आवश्यक चीज़ों पर निर्भर करता है।

क्यूटी, सी ++ के लिए अच्छा है, हालांकि, और यह एक विशेष परियोजना के लिए C++ का उपयोग कर तय करने के लिए एक अच्छा कारण नहीं है, तब भी आप एक QTC बुलाया बाध्यकारी करने के लिए इस्तेमाल सी

3

मुझे नहीं लगता कि यह करता है। क्यूटी को हमेशा "कक्षा पुस्तकालय" के रूप में वर्णित किया जाता है और इसे बनाने के लिए सी ++ कंपाइलर्स की आवश्यकता होती है। आप एक डीएलएल/इंटरफेस लिखने/खोजने का प्रयास कर सकते हैं जो क्यूटी के चारों ओर लपेटेगा और एक सी परत को एपीआई प्रदान करेगा।

15

सं। क्यूटी सी ++ है। लेकिन आप बस सी-स्टाइल कोड लिख सकते हैं जो जीयूआई तत्वों को इंटरैक्ट/बना नहीं करता है और पूरी चीज को आपके सी ++ कंपाइलर के साथ संकलित करता है।

10

में भागों रखना चाहते हैं, भले ही, लेकिन यह के लिए खोज का पता चलता है this thread:

रिचर्ड डेल से:

मैं सी बाइंडिंग कि ऑब्जेक्टिव-सी और क्यूटी # बाइंडिंग द्वारा इस्तेमाल किया गया बनाए रखने के लिए इस्तेमाल किया। लेकिन धुआं लाइब्रेरी बहुत बेहतर है हालांकि यह सी बाध्यकारी नहीं है, और मैं ने इसके बजाय धूम्रपान का उपयोग करने के लिए क्यूटीसी बाइंडिंग को तोड़ दिया।

Smoke is here। मुझे कहीं भी क्यूटी बीआईंडिंग का स्पष्ट संदर्भ नहीं मिला है, हालांकि मुझे उनके बारे में सुनना याद है।

3

तुम हमेशा एक सी ++ संकलक कि बस सी ++ सी करने के लिए अनुवाद इस्तेमाल कर सकते हैं, तो घायल नाम यह उत्पन्न करता है, आदि दुर्भाग्य से नहीं कहते हैं :-)

+0

... खराब विचार: जब आप एक अलग कंपाइलर के साथ काम करेंगे तो आप पाएंगे कि नाम मैंगलिंग अलग है। या क्या मैंगलिंग के लिए एक स्टारंडर्ड है? – Dacav

+1

यदि आप सी ++ कोड (क्यूटी) से सी को 'संकलित' करते हैं, तब से आप जेनरेट किए गए सी कोड को "स्रोत" के रूप में देख सकते हैं। जब तक आप इसे पुन: उत्पन्न करने के लिए वापस नहीं जाते, तब तक उत्पन्न करने वाला संकलक अब प्रासंगिक नहीं होता है। उस ने कहा, यह उत्तर बहुत गंभीरता से लेने का इरादा नहीं है, लेकिन मुझे विश्वास है कि यह एक सही जवाब है। –

+0

उलझन वाले नामों का उपयोग क्यों करें? प्रत्येक उचित सी ++ कंपाइलर को 'बाहरी "सी' कथन को समझना चाहिए, खासकर जब यह सी स्रोत के लिए संकलित होता है। (बीटीडब्ल्यू, जो सी ++ कंपाइलर सी कोड उत्सर्जित कर सकता है?) – schoppenhauer

17

, लेकिन आप achiving पुस्तकालयों के सेट के रूप में अपने कार्यक्रम को आकार कर सकते हैं अपने व्यापार तर्क और उन्हें सी में लिखें, फिर आप क्यूटी का उपयोग कर जीयूआई के साथ लाइब्रेरी के रूप में लिखे गए कुछ बाध्य करने के लिए थोड़ा सी ++ का उपयोग कर सकते हैं।

यह एक अच्छा दृष्टिकोण भी है क्योंकि बाद में आप अपनी लाइब्रेरी का पुन: उपयोग कर सकते हैं और विभिन्न टूलकिट या भाषाओं के साथ कई अन्य फ्रंट-एंड लागू कर सकते हैं!

-1

क्यूटी सिग्नल और स्लॉट जादू कार्य करने के लिए मेटा ऑब्जेक्ट कंपाइलर (एमओसी) का उपयोग करता है (उदाहरण के लिए उपयोगकर्ता सिग्नल और स्लॉट परिभाषाओं के आधार पर फ़ंक्शन कॉलबैक बनाएं)। तो क्यूटी एक्ट्यूल सी ++ नहीं है, लेकिन वास्तव में क्यूटी का अपना वाक्यविन्यास है, जो सी ++ की तरह है, लेकिन सिग्नल और स्लॉट के साथ। यह 'बाहरी "सी' बेकार बनाता है।

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