2009-08-16 12 views
19

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

क्या विंडोज सी ++ के लिए वहां कोई हल्का जीयूआई पुस्तकालय है जो "बस जीयूआई" है?

उत्तर

15

FLTK, यदि आप के बारे में हल्के गंभीर हैं।

http://www.fltk.org/

संपादित करें: वेबसाइट से
विज्ञापन:

FLTK छोटे और पर्याप्त मॉड्यूलर स्थिर जुड़े होने की डिज़ाइन किया गया है, लेकिन एक साझा पुस्तकालय के रूप में ठीक काम करता है। एफएलटीके में FLUID नामक एक उत्कृष्ट यूआई बिल्डर भी शामिल है जिसका उपयोग मिनटों में एप्लिकेशन बनाने के लिए किया जा सकता है।

मैं इसे परिपक्व और स्थिर भी जोड़ दूंगा।

+3

यह वास्तव में अच्छा है, लेकिन थोड़ा बदसूरत भी है। क्या मूल * एल एंड एफ के साथ ऐसा कुछ है? – demonkoryu

+1

मुझे हल्के वजन के बारे में कुछ भी नहीं पता। WxWidgets देशी विजेट (ज्यादातर - जहां संभव हो) लपेटता है जबकि शेष क्रॉस प्लेटफॉर्म। हालांकि यह निश्चित रूप से एक बड़ा, भारी मंच है। – Shaun

+0

https://github.com/vurtun/nuklear। ठीक है यह एक यहाँ नहीं था। :) –

2
+6

wxwidgets के बारे में हल्का वजन क्या है ??? – sbi

+11

हे, क्यूटी के मुकाबले, सबकुछ हल्का है। –

+1

आह, ठीक है, मैंने अभी तक क्यूटी पर नहीं देखा है। मैंने wxwidgets काफी भारी पाया। – sbi

0

ईजीईई (here या here देखें) या WTL देखें।

+1

हां, डब्ल्यूटीएल! डब्ल्यूटीएल 9.0 को 2014-05-20 – 0x8BADF00D

5

JUCE काफी हल्का वजन है, यह एक .cpp & एक .h फ़ाइल जितना आसान हो सकता है। (समेकित JUCE को देखें) हालांकि यह मानक विंडोज ऐप की तरह दिखता नहीं है। दूसरी ओर, यह पार मंच है।

+8

पर जारी किया गया था वाणिज्यिक परियोजनाओं में स्वतंत्र रूप से उपयोग नहीं किया जा सकता है। –

0

Glade3 के साथ जीटीके आज़माएं।

5

यहां तक ​​कि अगर wxWidgets यहाँ पहले से ही नाम है:

wxWidgets!

यह एक महान और मूल्यवान Framwork (एपीआई, कक्षा पुस्तकालय, जो भी आप इसे कॉल कर सकते हैं)।

लेकिन: आप इस पुस्तकालय की कार्यक्षमता को कई छोटे हिस्सों (आधार, कोर, गुई, इंटरनेट, एक्सएमएल) में विभाजित कर सकते हैं और आवश्यक होने पर उनका उपयोग कर सकते हैं।

यदि आप वास्तव में अच्छे जीयूआई अनुप्रयोग बनाना चाहते हैं, तो आपको एक अच्छा एपीआई का उपयोग करना होगा। wxwidgets पूरी तरह से नि: शुल्क है (क्यूटी नहीं है), केवल बाइनरी रूप में एक छोटे से ओवरहेड की आवश्यकता है, जिसे डीएलएल या ओ-फाइल के रूप में जोड़ा गया है, यह लगभग 2 मेग्स है, लेकिन आपको उन सभी को पेश करना होगा जिन्हें आपको कभी भी महान अनुप्रयोगों को प्रोग्राम करने की आवश्यकता है ...

और wxWidgets क्यूटी की तुलना में अधिक हल्का ... और भी बेहतर है ... :)

कोशिश करो ...

+3

क्यूटी "बिल्कुल मुफ्त" कैसे नहीं है? मैं wxwidgets दस्तक नहीं दे रहा हूँ, लेकिन मुझे नहीं लगता कि यह क्यूटी के लिए उचित है। – Grault

+1

मुझे लगता है कि वह इस तथ्य का जिक्र कर रहे हैं कि क्यूटी केवल तभी मुफ़्त है यदि आप अपने एल/जीपीएल लाइसेंस का पालन करने के इच्छुक हैं। यदि आप नहीं हैं, या नहीं कर सकते हैं, तो आपको एक वाणिज्यिक लाइसेंस के लिए टट्टू करना होगा। WxWidgets एक स्थिर लिंकिंग छूट के साथ LGPL'd है, जिसका अर्थ यह है कि जब तक स्रोत नहीं बदला जाता है तब तक ऐप के लाइसेंस के बावजूद इसका उपयोग करना स्वतंत्र होता है। – 0x1mason

1

माइक्रोसॉफ्ट फाउंडेशन कक्षा लाइब्रेरी (MFC)

आप को ध्यान में रखते एक की तलाश में हैं विंडोज़ केवल समाधान, (और इस धागे पर wxwidgets को वोट दिया गया है) आप व्यापार करना चाहते हैं कुछ हल्के वजन वाले और चेकआउट एमएफसी।
जहां तक ​​विंडोज से संबंधित है, एमएफसी और WxWidgets गर्दन & गर्दन प्रतिस्पर्धा करने लगते हैं, लेकिन कुल मिलाकर, पूर्व बाद की तुलना में हल्का है।

कुछ भला: -

  • MSVC MFC रेड समर्थन करते हैं। विजुअल स्टूडियो तर्कसंगत रूप से सर्वश्रेष्ठ "आरएडी उपकरण & जीयूआई lib" कॉम्बो प्रदान करता है। एकमात्र अन्य "गतिशील जोड़ी" जो करीब आता है QtCreator & QT का है। WxSmith पूरी तरह से सभी
  • wxWidgets घटक का समर्थन नहीं करता है, लेकिन यह सुधार करता रहता है। वाणिज्यिक जीयूआई घटकों का बहुत ही अमीर सेट।
  • नि: शुल्क (लेकिन स्वामित्व)।
  • डाटाबेस नियंत्रणों की बात आती है तो बहुत अच्छा है।

कुछ कान्स: -

  • दिन आप अन्य प्लेटफार्मों के लिए बंदरगाह के लिए निर्णय लेते हैं, आप चाहते हैं कि आप एक क्रॉस मंच lib साथ चला गया था।
  • एमएफसी की स्वामित्व प्रकृति का मतलब है कि आपको लाइसेंसिंग को बहुत सावधानीपूर्वक नेविगेट करना होगा। लेकिन AFAIK, एमएफसी बाइनरी रूप में पुनर्वितरण के लिए स्वतंत्र है।
    Here's a nice article touching on the "oil and water" that is "MFC and FLOSS applications"। जाहिर है, वे बस मिश्रण कर सकते हैं।

फिर भी, MFC से Appart, मैं FOX-Toolkit भी एक उल्लेख के लायक है लगता है, लेकिन सिर्फ FLTK की तरह, प्रमुख नकारात्मक पक्ष को, कहते हैं, क्यूटी या wxWidgets तुलना में सभ्य IDEs और रेड उपकरणों की कमी है

+0

एमएफसी के साथ काम करने के लिए यह एक दुःस्वप्न है। –

+0

@the_drow ने टिप्पणी करने से पहले पूरी पोस्ट पढ़ी (या डाउनवॉटिंग)? – moje

+0

हां मैंने किया। फ़ीचर सेट के अनुसार आप सही हो सकते हैं लेकिन एमएफसी बस अनजान और अपठनीय गड़बड़ है। मैं किसी भी कारण से किसी को भी इसकी सिफारिश नहीं करता? –

1

IUP छोटी से छोटी एक मुझे पता है, दोनों सीखने की अवस्था, DLL आकार की दृष्टि से और सुविधाओं

4

CEGUI एक शक्तिशाली जीयूआई पुस्तकालय है, लेकिन मुझे यकीन है कि नहीं कर रहा हूँ (जब से तुम स्पष्ट नहीं किया है) आप हल्के से क्या मतलब है। इसमें बहुत सारे हेडर भी हैं, लेकिन वे सभी जीयूआई से संबंधित हैं या इसके प्रतिपादन से संबंधित हैं। मेरे कंप्यूटर पर, डिफ़ॉल्ट वीएस -2010 रिलीज मोड में निर्मित वर्तमान रिलीज डीएलएस के लिए कुल 3 एमबी लेता है। निश्चित रूप से ऐसी संपत्तियां हैं जो अंतरिक्ष भी लेती हैं, लेकिन स्पष्ट रूप से ये आपकी आवश्यकताओं के आधार पर भिन्न हो सकती हैं। यह संपत्तियों में एक्सएमएल और छवि फ़ाइलों का उपयोग करता है, छवियों में सबसे अधिक जगह लेती है। इसके लिए आपकी आवश्यकताओं (पीएनजी, जेपीईजी, एक्सएमएल पार्सिंग डीएलएस) के आधार पर डीएलएस की एक गुच्छा की आवश्यकता है, लेकिन वे रिलीज में काफी छोटे हैं। इसलिए जब तक आप उपयोग में बहुत अधिक डीएलएल होने के बारे में तर्कहीन नहीं हैं, यह कोई मुद्दा नहीं होना चाहिए।

यह सी ++ में लिखा गया है (0.7-1.0 सी 99 मानक पर आधारित होगा, 2.0+ सी ++ 11 मानक में होगा) और गतिशील और स्थैतिक लिंकिंग का समर्थन करता है। डायनामिक लिंकिंग विंडोज पर समर्थित प्रकार है। सीईजीयूआई के लिए विंडोज़ पर स्टेटिक लिंकिंग की सिफारिश नहीं की जाती है।

यहां सुविधाओं का एक संक्षिप्त सारांश:

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

  • ऑफर विगेट्स आउट-ऑफ-द-बॉक्स निम्नलिखित: पाठ फ़ील्ड (स्क्रॉल), editboxes, बहु editboxes, स्पिनरों, चेक बॉक्स, बटन, रेडियो बटन, टैब किए खिड़कियां, प्रगति सलाखों, स्क्रॉल शीशे, स्लाइडर ड्रॉप-डाउन-मेनू (comboboxes), मेनू सलाखों, लेआउट कंटेनर (ऊर्ध्वाधर/क्षैतिज) और अधिक

  • मुक्त स्रोत MIT लाइसेंस, लाइसेंस में से एक के अंतर्गत प्रकाशित आप सबसे अधिक स्वतंत्रता प्रदान, आप केवल करने की आवश्यकता होगी एप्लिकेशन के साथ लाइसेंस फ़ाइल वितरित करें और यह

  • लेआउट को WYSIWYG संपादक पायथन में लिखे गए लेआउट का आसानी से बनाया और संपादित किया जा सकता है। इसे सीईईडी कहा जाता है और यह भी मुफ्त में उपलब्ध है। यह बहुत सारे परीक्षणों से गुज़र चुका है और उत्पादन के लिए उपयुक्त है। एक स्थिर रिलीज प्रकाशित किया गया है और भविष्य के लिए नई सुविधाएं विकसित हो रही हैं। एक इमेजेट संपादक भी उसी एप्लिकेशन में उपलब्ध है।

  • जैसा कि कहा गया है, यह वाणिज्यिक उपयोग के लिए है। लाइसेंस फ़ाइल को वितरित करना आपके लिए एकमात्र दायित्व है।

  • सीईजीयूआई क्रॉस-प्लेटफ़ॉर्म उपयोग के लिए उपयुक्त है। यह आधिकारिक तौर पर विंडोज, लिनक्स, मैक ओएस का समर्थन करता है। इसका उपयोग आईओएस और एंड्रॉइड पर भी किया गया है। विकास शाखा में एंड्रॉइड समर्थित है।

यह मूल रूप से खेल के लिए एक जीयूआई पुस्तकालय के रूप में डिजाइन किया गया था लेकिन यह भी, वैज्ञानिक अनुप्रयोगों में उपयोग प्रतिपादन अनुप्रयोगों, दृश्य के लिए एकदम सही है। डेस्कटॉप एप्लिकेशन भी किया जा सकता है। एक साधारण विंडोज जैसी त्वचा डिफ़ॉल्ट संपत्तियों में उपलब्ध है।

यह लगभग 10 वर्षों से अधिक रहा है, एक सक्रिय समुदाय है और यह एक मजबूत, फीचर समृद्ध और एक्स्टेंसिबल लाइब्रेरी है।

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