दिलचस्प पोस्ट
कैसे परीक्षण करें कि एक अजगर मॉड्यूल आयात किया गया है? पायथन में इंटरलीविंग सूचियां jQuery – यह पता लगा रहा है कि फ़ाइल इनपुट में कोई फ़ाइल चयनित हो गई है जावास्क्रिप्ट डीकोडिंग HTML संस्थाएं मैं PHP के प्रयोग से प्रत्येक पंजीकृत उपयोगकर्ता को अपने यूआरएल को कैसे दे सकता हूं? एंड्रॉइड में एक HTML लिंक से एक पृष्ठ का html स्रोत कैसे प्राप्त करें? मुझे "सिस्टम.IO.Compression" नामस्थान में "ज़िपफ़ाइल" वर्ग नहीं मिला JSON.NET पार्सर * मेरी वस्तुओं को दोहरी धारावाहिक होना * लगता है Data.table में स्तंभ वर्गों को कनवर्ट करें कैसे C ++ में unary ऋण ऑपरेटर अधिभार? जावास्क्रिप्ट का उपयोग करके एक ही तत्व में कई इवेंट श्रोताओं / हैंडलर्स को जोड़ा जा सकता है? एंड्रॉइड में प्रोग्राम सूची चुनें आइटम सूची दृश्य लूप के लिए ऑब्जेक्ट का उपयोग करना आईसीएस वापस घर कार्य स्विचर बटन छुपाएं ईबीपी फ्रेम सूचक रजिस्टर का उद्देश्य क्या है?

मैं C ++ में एक GUI कैसे बना सकता हूं?

अब तक सीआईआई मेरे सारे सी ++ प्रोग्राम रहे हैं, और केवल एक ही अन्य भाषा में मुझे पीएचपी है, जो कि इसका समर्थन नहीं करता है, लेकिन मैं सी ++ में जीयूआई प्रोग्रामिंग के साथ कहाँ शुरू करूं?

वैसे, मैं माफ़ी चाहता हूं कि अगर जीयूआई गलत शब्द है तो मुझे यकीन नहीं है कि यह सही है।

संपादित करें: असल में, मेरा प्रश्न यह है कि कैसे मैं कहाँ से प्रारम्भ करूँ? मैं जीयूआई कैसे बनाऊँ? मैंने कभी कोई औपचारिक प्रोग्रामिंग शिक्षा नहीं की है, इसलिए मुझे बिल्कुल पता नहीं है।

वेब के समाधान से एकत्रित समाधान "मैं C ++ में एक GUI कैसे बना सकता हूं?"

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

प्रत्येक ऑपरेटिंग सिस्टम अपनी GUI टूलकीट, हेडर फाइल का सूट और एपीआई कॉल, और काम करने के अपने तरीके से आता है। Gtk, qt, और wx विगेट्स जैसे क्रॉस प्लेटफॉर्म टूलकिट भी हैं, जो आपको कहीं भी काम करने वाले प्रोग्राम बनाने में मदद करते हैं। वे प्रत्येक मंच पर एक ही एपीआई कॉल करते हुए इसे प्राप्त करते हैं, लेकिन उन एपीआई फ़ंक्शंस के लिए एक अलग कार्यान्वयन जो मूल ओएस एपीआई कॉलों को बुलाते हैं।

एक चीज में वे सभी समान होंगे, जो एक सीएलआई प्रोग्राम से अलग होगा, एक इवेंट लूप कहा जाता है। मूल विचार वहां कुछ जटिल है, और संक्षिप्त करना मुश्किल है, लेकिन संक्षेप में इसका अर्थ यह है कि आपके मुख्य वर्ग / मुख्य कार्य में बहुत कुछ नहीं है, इसके अलावा:

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

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

आपको ध्यान रखना चाहिए कि जीयूआई प्रोग्रामिंग सामान्य रूप से, अविश्वसनीय रूप से जटिल और कठिन है। यदि आपके पास विकल्प है, तो वास्तव में आपके प्रोग्राम में एक एम्बेडेड वेबसर्वर को एकीकृत करना और HTML / वेब आधारित इंटरफ़ेस में वास्तव में बहुत आसान है। ऐप्पल का कोको + एक्सकोड + इंटरफ़ेस बिल्डर + ट्यूटोरियल जो मेरे सामने आ गया है एक अपवाद जो मैंने देखा है जीयूआई प्रोग्रामिंग के लिए नए लोगों के लिए यह सबसे आसान तरीका है।

बहुत सारे पोर्टेबल जीयूआई पुस्तकालय हैं , प्रत्येक अपनी ताकत और कमजोरियों के साथ:

  • क्यूटी
  • जीटीकेएम ( जीटीके + पर आधारित)
  • wxWidgets
  • FLTK
  • अंतिम ++
  • Juce

विशेष रूप से Qt के अच्छे ट्यूटोरियल और टूल हैं जो आपको आरंभ करने में सहायता करते हैं। का आनंद लें!

नोट, हालांकि, आपको Win32 API या MFC जैसे प्लेटफ़ॉर्म विशिष्ट कार्यक्षमता से बचना चाहिए यह बिना किसी लाभ के साथ किसी विशिष्ट प्लेटफ़ॉर्म पर आपको बेकार से संबंध रखता है

ओएस स्वतंत्र एल्गोरिदम " तीन चरणों में सी + + में जीयूआई अनुप्रयोग बनाना ":

  1. क्यूटी निर्माता स्थापित करें
    वैकल्पिक शब्द
  2. नई परियोजना बनाएं (Qt4 GUi एप्लिकेशन)
    वैकल्पिक शब्द
  3. इसे बनाओ।

बधाई हो, आपको सी ++ में अपना पहला जीयूआई मिल गया है

अब आप "हैलो वर्ल्ड" जीयूआई एप्लिकेशन की तुलना में कुछ और जटिल बनाने के लिए बहुत सारे दस्तावेज़ पढ़ने के लिए तैयार हैं।

"Windows XP को एक उदाहरण के रूप में कहते हैं" की टिप्पणी को देखते हुए, आपके विकल्प इस प्रकार हैं:

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

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

  • जीटीके + (सी + + आवरण: gtkmm ), क्यूटी , डब्ल्यूएक्सवुडट्स या FLTK जैसे क्रॉस प्लॅटफॉर्म लायब्रेरी का उपयोग करें जो विशिष्ट ओएस के एपीआई को लपेटते हैं। इनके साथ लाभ यह है कि सामान्य तौर पर, आपके प्रोग्राम को स्रोत कोड बदलने के बिना विभिन्न ओएस के लिए संकलित किया जा सकता है जैसा कि पहले ही उल्लेख किया गया है, उनमें से प्रत्येक की अपनी ताकत और कमजोरियां हैं। इसका चयन करने पर एक विचार है कि इसका उपयोग करने वाला कौन सा लाइसेंस है दिए गए उदाहरणों के लिए, जीटीके + और जीटीकेएम एलजीजीएल के तहत लाइसेंस है, क्यूटी स्वामित्व विकल्प सहित विभिन्न लाइसेंसों के अंतर्गत है, wxWidgets अपने स्वयं के wxWindows लाइसेंस (wxWidgets लाइसेंस के लिए एक नाम के साथ) के अंतर्गत है, और FLTK अपवाद के साथ LGPL के अंतर्गत है संदर्भ, ट्यूटोरियल और या किताबों के लिए, विवरण के लिए प्रत्येक व्यक्ति की वेबसाइट का संदर्भ लें

चूंकि मैं पहले ही वहां गया हूं, जहां आप अभी हैं, मुझे लगता है कि मैं आपको "जवाब" दे सकता हूं।

तथ्य यह है कि जीयूआई बनाने का कोई आसान तरीका नहीं है जीयूआई प्लेटफार्म और ओएस विशिष्ट कोड पर अत्यधिक निर्भर है, यही कारण है कि आपको विंडो प्रबंधन एपीआई में अपना लक्ष्य प्लेटफॉर्म / ओएस दस्तावेज पढ़ने शुरू करना चाहिए। अच्छी बात यह है कि इसमें बहुत सारे पुस्तकालय हैं जो इन सीमाओं और अमूर्त आर्कटेक्चर मतभेदों को एक बहु-मंच एपीआई में दर्शाते हैं। उन सुझावों से पहले, जीटीके और क्यूटी, इनमें से कुछ पुस्तकालय हैं

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

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

मुझे "सरल" ट्यूटोरियल के साथ एक वेबसाइट मिली: http://www.winprog.org/tutorial/start.html

Qt सबसे अच्छा है

सी ++ में एक .NET विंडोज जीयूआई बनाने में इसका आसान

MSDN से निम्नलिखित ट्यूटोरियल देखें आप मुफ्त में सब कुछ डाउनलोड कर सकते हैं (विजुअल सी ++ एक्सप्रेस)

बेशक आप अपने आप को नेट पर बांध देते हैं, लेकिन अगर आप बस खेल रहे हैं या सिर्फ एक विंडोज़ ऐप की ज़रूरत है तो आप ठीक हो जाएंगे (ज्यादातर लोग अब भी विंडोज हैं …)

मैं FLTK का उपयोग करता हूं क्योंकि क्यूटी मुक्त नहीं हैं I मैं wxWidgets का चयन नहीं करता क्योंकि एक साधारण हैलो वर्ल्ड प्रोग्राम के साथ मेरा पहला परीक्षण 24 एमबी, फ्लैकेट 0.8 एमबी के निष्पादन योग्य का उत्पादन करता है …