हाथ कोडेड जीयूआई बनाम क्यूटी डिजाइनर जीयूआई [बंद]


115

मैं इन छुट्टियों को क्यूटी एप्लीकेशन लिखना सीख रहा हूं। मैं कुछ घंटों पहले ही क्यूटी डिज़ाइनर के बारे में पढ़ रहा था, जिसने मुझे आश्चर्यचकित कर दिया था: क्यूटी में वास्तविक दुनिया एप्लिकेशन लिखने वाले लोग अपने जीयूआई को डिजाइन करने के लिए क्या करते हैं? वास्तव में, लोग GUI को सामान्य रूप से कैसे डिजाइन करते हैं?

मैं, एक के लिए, पाया गया कि हाथ से कोड लिखना Qt डिज़ाइनर का उपयोग करने की तुलना में वैचारिक रूप से सरल था, हालाँकि जटिल GUI डिज़ाइनर्स के लिए यह समझ में आता है। बड़े GUI डिज़ाइनर का उपयोग करके संभव हो सकते हैं, लेकिन समय के साथ वे बहुत मुश्किल हो सकते हैं क्योंकि जटिलता बढ़ जाती है (यह सिर्फ मेरी राय है)। मैंने उन लोगों पर नज़र रखने के लिए अमारोक स्रोत कोड भी डाउनलोड किया और उन लोगों को जोड़ने के लिए कई कॉल किए, और ऐडवर्ड्सडॉट () और दोस्तों को कई कॉल मिले, लेकिन डिज़ाइनर द्वारा बनाई गई उन XML फ़ाइलों में से कोई भी नहीं है (एक तरफ: अमारोक को मेरा पसंदीदा आवेदन बनना है) कोई भी मंच)।

फिर, GUI बनाने का "सही" तरीका क्या है? डिजाइनर या कोड? आइए, इस चर्चा के लिए, निम्न प्रकार के GUI पर विचार करें:

  1. सरल संवाद जो केवल इनपुट लेने की जरूरत है, कुछ परिणाम और बाहर निकलें। आइए एक एप्लिकेशन को मान लें जो YouTube URL लेता है और वीडियो को उपयोगकर्ता की हार्ड डिस्क पर डाउनलोड करता है। एक नौसिखिया अनुप्रयोगों के साथ शुरू होने की संभावना है।
  2. इंटरमीडिएट स्तर की जीयूआई, जैसे, कुछ टूलबार / मेनू आइटम के साथ एक चिपचिपा नोट्स संपादक। उदाहरण के लिए xPad लेते हैं ( http://getxpad.com/ )। मैं कहता हूं कि अधिकांश एप्लिकेशन "उपयोगिताओं" की श्रेणी में आते हैं।
  3. बहुत जटिल GUIs, जैसे AmaroK या OpenOffice। आप उन्हें तब देखते हैं, जब आप उन्हें देखते हैं, क्योंकि वे आपकी आंखों से खून निकालते हैं।

जवाबों:


44

डिजाइनर के साथ हमारा अनुभव Qt3 में शुरू हुआ।

Qt3

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

क्यूटी 4

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

मेरा आकलन है कि यह मैक ओएस एक्स पर इंटरफेस बिल्डर के रूप में कहीं भी उपयोगी नहीं है, लेकिन इस बिंदु पर, मैं एक प्रोग्राम में सीधे डिजाइनर फाइलों का उपयोग कर देख सकता हूं।

हम Qt3 के बाद से डिज़ाइनर में वापस नहीं आए हैं, लेकिन फिर भी इसे प्रोटोटाइप, और डीबग लेआउट के लिए उपयोग करते हैं।

अपनी समस्याओं के लिए:

  1. आप शायद क्यूटी प्रदान करने वाले मानक संवादों का उपयोग करके दूर हो सकते हैं। QInputDialog या यदि आप QDialog को उप-वर्ग करते हैं, तो सुनिश्चित करें कि QButtonDialogBox का उपयोग यह सुनिश्चित करने के लिए करें कि आपके बटन में उचित प्लेटफ़ॉर्म-लेआउट है।

  2. आप शायद सीमित डिजाइनर कार्यक्षमता के साथ xPad की तरह कुछ और सीमित कर सकते हैं।

  3. मुझे नहीं लगता कि आप पूरी तरह से डिजाइनर के साथ ओपनऑफिस जैसा कुछ लिख सकते हैं लेकिन शायद यह बात नहीं है।

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


23
Uic (.ui फ़ाइल कंपाइलर) द्वारा उत्पन्न कोड को संशोधित करने की आवश्यकता कभी नहीं होनी चाहिए। यदि अधिक कार्यक्षमता की आवश्यकता है, तो एक नया वर्ग बनाया गया है जो या तो उत्पन्न वर्ग से विरासत में मिला है या इसे एक सदस्य के रूप में शामिल करता है और आवश्यक कोड जोड़ता है।
पार्कर

1
यह ध्यान देने योग्य है कि Qt3 और प्रारंभिक Qt4 (लगभग 2008) में, Qt डिज़ाइनर में कई विशेषताओं का अभाव था, जो कि कुछ के लिए शोस्टॉपर्स हो सकते थे, जैसे कि ButtonGroups, कस्टम स्लॉट, नामकरण QLoutouts, आदि के लिए समर्थन की कमी लेकिन पिछले 5-5 के लिए। 6 साल या तो, उन सभी समस्याओं का समाधान किया गया है। मैं यूआई फ़ाइलों का उपयोग करना पसंद करता हूं यदि मैं कर सकता हूं, तो लेआउट को पुनर्गठित करना बहुत आसान है और इसके परिणामस्वरूप बनाए रखने के लिए बहुत कम कोड होता है।
ब्रेंडन एबेल

42

क्यूटी डिजाइनर और अन्य टूलकिट / यूआई-टूल्स के साथ मेरे अनुभव में:

  • यूआई उपकरण काम को गति देते हैं।
  • यूआई उपकरण बाद में लेआउट को मोड़ना आसान बनाते हैं।
  • यूआई उपकरण गैर-प्रोग्रामर के लिए यूआई डिज़ाइन पर काम करना आसान / संभव बनाते हैं।

डिजाइन को कई UI फ़ाइलों में तोड़कर एक UI टूल में जटिलता से निपटा जा सकता है। प्रत्येक फ़ाइल में घटकों के छोटे तार्किक समूहों को शामिल करें और प्रत्येक समूह को एक ही विजेट के रूप में मानें जो कि संपूर्ण UI बनाने के लिए उपयोग किया जाता है। प्रमोटेड विजेट्स की क्यूटी डिज़ाइनर की अवधारणा इसकी मदद कर सकती है।

मैंने पाया नहीं है कि परियोजना के पैमाने पर कोई फर्क पड़ता है। आपका अनुभव भिन्न हो सकता है।

UI टूल के साथ बनाई गई फ़ाइलें (मुझे लगता है कि आप उन्हें हाथ से लिख सकते हैं यदि आप वास्तव में चाहते थे) अक्सर रन-टाइम (क्यूटी और जीटीके + दोनों को गतिशील रूप से लोड किया जा सकता है)। इसका मतलब है कि आप लेआउट में बदलाव कर सकते हैं और उन्हें पुन: जमा किए बिना परीक्षण कर सकते हैं।

अंततः, मुझे लगता है कि कच्चा कोड और UI दोनों उपकरण प्रभावी हो सकते हैं। यह संभवतः पर्यावरण, टूलकिट / यूआई-उपकरण और निश्चित रूप से व्यक्तिगत प्राथमिकता पर बहुत कुछ निर्भर करता है। मुझे UI टूल पसंद हैं क्योंकि वे मुझे उठाते हैं और तेजी से दौड़ते हैं और बाद में आसान बदलाव की अनुमति देते हैं।


8

जिस संगठन के लिए मैं काम करता हूं, उसने अपने GUI एप्लिकेशन को Qt में कई साल पहले पोर्ट किया था। मुझे लगता है कि ऐसे कई पहलू हैं जो ध्यान देने योग्य हैं:

  • क्यूटी डिजाइनर के साथ काम करना, कम से कम उस बिंदु पर, एक यथार्थवादी विकल्प नहीं था: बहुत सी विशेषताएं थीं जो क्यूटी डिजाइनर के साथ नहीं की जा सकती थीं;
  • कन्वेंशन और संरचना जिसे संरक्षित किया जाना था, क्यूटी डिजाइनर के उपयोग को रोका गया;
  • एक बार जब आप डिजाइनर के बिना शुरू कर चुके हैं, तो शायद इसे वापस करना मुश्किल है;
  • सबसे महत्वपूर्ण पहलू, हालांकि, यह था कि प्रोग्रामर GUI IDE का उपयोग करने के बजाय vi या emacs का उपयोग करते हुए प्रोग्रामिंग करने के लिए बहुत अधिक थे।

मेरा अपना अनुभव, जो लगभग वापस चला जाता है। Qt3.3 का उपयोग करते हुए 4 साल, यह है कि संवादों में गतिशील व्यवहार डिजाइनर में महसूस करना संभव नहीं था।


8

बस कहने के लिए मैंने Qt डिज़ाइनर का उपयोग किए बिना Qt में जटिल GUI लिखी और बनाए रखा है - इसलिए नहीं कि मुझे Qt डिज़ाइनर पसंद नहीं है, बल्कि इसलिए कि मुझे उस तरह से काम करने के लिए कभी नहीं मिला।

यह आंशिक रूप से शैली की बात है और आप कहां से आ रहे हैं: जब मैंने Qt पर शुरू किया था, तो मुझे ड्रीमविवर और फ्रंटपेज और अन्य विज़ुअल HTML टूल के भयानक अनुभव थे, और होमसाइट के साथ अब तक का पसंदीदा लेखन कोड और ट्रिक लेआउट के लिए फ़ोटोशॉप का सहारा लेना समस्या।

दृश्य कोड आईडीई के साथ एक खतरा है कि आप दृश्य उपकरणों के भीतर रखने की कोशिश करते हैं, लेकिन अंत में कोड को ट्विक करने के साथ-साथ उन तरीकों से भी होता है जो अच्छी तरह से समझ में नहीं आते हैं।

उदाहरण के लिए, iPhone के विकास को सीखना, मैंने 'मैजिक' विज़ुअल स्टफ ('कनेक्शन्स में खाली सर्कल से ड्रैग को इंटरफ़ेस बिल्डर विंडो में ऑब्जेक्ट ...' पर हिट करते हुए निराश किया है) यह सरल (के लिए) होगा मुझे) सादे पुराने कोड में समझने के लिए।

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


7

मैं उदाहरण के लिए, उदाहरण के लिए, Win32 में लेआउट प्रबंधकों की कमी के कारण ग्राफिकल डिजाइनर का उपयोग करने का एक कारण था। केवल पूर्ण स्थिति संभव थी, और ऐसा करने से हाथ बस चूसेगा।

जब से मैंने GUI ऐप्स (2002 में वापस) के लिए डेल्फी से जावा में स्विच किया है, मैंने कभी भी डिजाइनरों का उपयोग नहीं किया है। मुझे लेआउट मैनेजर बहुत पसंद हैं। और हाँ, आपको बॉयलरप्लेट कोड मिलता है, लेकिन यूआई डिजाइनर पर चलती वस्तुओं को बॉयलरप्लेट बदलने में अधिक समय लग सकता है। इसके अलावा, मैं एक धीमी आईडीई के साथ फंस जाएगा; यह Java / C # केस के लिए है, ठीक है, जबकि Qt (विशेष रूप से Qt4) के लिए यह लागू नहीं होता है। Qt3 के लिए, मुझे आश्चर्य है कि किसी को उत्पन्न कोड को क्यों संपादित करना चाहिए - क्या अन्य फ़ाइलों में कोड जोड़ना संभव नहीं था? किस वजह से?

चर्चित मामलों के बारे में: 1) हैंड कोडेड जीयूआई लिखने की संभावना तेज है, कम से कम यदि आप अपने पुस्तकालयों को जानते हैं। यदि आप नौसिखिया हैं और आप उन्हें नहीं जानते हैं, तो आप समय बचा सकते हैं और डिज़ाइनर से कम सीख सकते हैं, क्योंकि आपको उस एपीआई को सीखने की ज़रूरत नहीं है जिसका आप उपयोग करते हैं। लेकिन "कम सीखें" प्रमुख कारक है, इसलिए दोनों मामलों में मैं हैंड कोडेड GUI कहूंगा।

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

3) मैं इस मामले में # 2 के लिए जवाब का विस्तार करूंगा। ध्यान दें कि, Win32 प्लेटफार्मों के लिए, यह संभव हो सकता है कि Win32 संसाधनों को उत्पन्न करने वाले डिजाइनरों का उपयोग करके लोड करने के लिए तेज हो सकता है (उस बारे में कोई विचार नहीं है)।

हालाँकि, मैं Qt डिज़ाइनर के साथ एक संभावित समस्या का उल्लेख करना चाहता हूँ। वास्तविक विश्व का मामला: बहुत सारे विकल्पों के साथ एक जटिल जावा संवाद (एक प्रोग्रामर के पाठ संपादक के लिए वरीयता संवाद बॉक्स) को लोड करने में कुछ सेकंड (10) कहते हैं। सही निर्धारण प्रत्येक टैब को लोड करने के लिए किया गया होगा, जब प्रोग्रामर अपने GUI के निर्माण के लिए निर्धारित प्रत्येक वरीयता के लिए एक अलग विधि जोड़कर उन्हें (मुझे इसके बाद पता चला) देखना चाहता था।

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


5
लेआउट प्रबंधक जीयूआई डिजाइनरों के साथ पारस्परिक रूप से अनन्य नहीं हैं। वास्तव में, कोई भी GUI डिज़ाइनर जो किसी प्रकार के लेआउट प्रबंधक अवधारणा का उपयोग नहीं करता है, आधुनिक GUI अनुप्रयोगों के 99% पर काम करने के लिए बेकार से भी बदतर है।
स्टीव एस

7

GUI बनाने के लिए डिज़ाइनर का उपयोग करने का एक मुख्य लाभ यह है कि अन्य प्रोग्रामर एक जटिल कोड को डिलीट करने की आवश्यकता के बिना फॉर्म और विजेट को आसानी से बदल सकते हैं या बनाए रख सकते हैं।


5

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


3
हाँ, यह मेरे लिए अभिनीत था, लेकिन लगभग कई साल पहले जब मैं 1 साल से अधिक समय से क्यूटी का उपयोग कर रहा था, मुझे एहसास हुआ कि मैं ग्राफिक लेखन की तुलना में हाथ से लिखकर तेजी से यूआई काम कर सकता हूं। हाथ से लिखी कोडेड यूआई में एक चीज की कमी है, यह आसानी से नहीं देखा जा सकता है कि यह स्क्रीन पर निष्पादित होने तक कैसा दिखता है (और यह कभी-कभी सहकारी कार्यों का महत्वपूर्ण पहलू है)।
जून्हवां

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

4

मुझे GUI विजेट विकसित करने के लिए पहले डिजाइनर की ओर रुख करना पसंद है। जैसा कि अन्य पोस्ट में बताया गया है, इसका तेज़। आपको यह देखने के लिए तत्काल प्रतिक्रिया मिलती है कि क्या यह "सही लग रहा है" और उपयोगकर्ता को भ्रमित नहीं कर रहा है। डिजाइनर एक प्रमुख कारण है कि मैं अन्य टूलकिट्स पर क्यूटी चुनता हूं। मैं ज्यादातर एकबारगी डायलॉग बनाने के लिए डिजाइनर का इस्तेमाल करता हूं।

ऐसा कहने के बाद, मैं मुख्य विंडो और किसी भी जटिल विजेट को हाथ से करता हूं। मुझे लगता है कि यह ट्रोलटेक का इरादा है। QFormLayout एक ऐसा वर्ग है जो वे आसानी से एक प्रोग्राम संवाद बनाने के लिए प्रदान करते हैं।

वैसे, Qt 4 में डिज़ाइनर एक IDE नहीं है, जैसा कि उनके पास Qt 3 में था। यह संपादन के लिए एक संपादक है। उई फ़ाइलें। मैं इसे उस तरह चाहता हूं। नए क्रॉस प्लेटफॉर्म आईडीई को क्यूटी क्रिएटर कहा जाने वाला है।


4

यह एक पुरानी पोस्ट है, लेकिन मैं आपको क्लेमेंटाइन को देखने की सलाह दूंगा - एक म्यूजिक प्लेयर जो (मुझे लगता है) अमारॉक से प्राप्त होता है। वे Qt4 का उपयोग करते हैं और जो मैं देख सकता हूं , वह परियोजना के src फ़ोल्डर में एक ui फ़ोल्डर है । एक के रूप में ui फ़ोल्डर में उम्मीद है कि वे .ui फ़ाइलों के सभी प्रकार हो सकता है। यदि आप क्लेमेंटाइन को संकलित और शुरू करते हैं, तो आप देखेंगे कि GUI काफी जटिल है और काफी अच्छा है।


3

मेरे लिए, यह निर्भर करता है कि विजेट / जीयूआई में कितना तर्क निहित है। यदि यह सरल रूपों के बारे में है, तो मैं QtDesigner का उपयोग करना पसंद करता हूं।

यदि इसमें जटिल चेक या इंटरैक्शन शामिल है, तो मैं इसे प्रोग्राम करता हूं।


मेरे पास एमएफसी ऐप में कई विंडोज़ डायलॉग हैं जो सभी बहुत समान हैं। हाल ही में मैंने केवल एक ही डायलॉग पर सभी नियंत्रण लगाने और ऐप के वर्तमान मोड के आधार पर कुछ नियंत्रणों को छिपाने और पुन: व्यवस्थित करने का प्रयास किया। क्या आप Qt में कह रहे हैं कि आप आसानी से प्रोग्राम को नियंत्रित कर सकते हैं? मैं सोच रहा था कि क्या यह मेरे मामले में आसान होगा। आपके विचारों को सुनकर खुशी होगी।
मिच

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

2

अगर किसी को एक गुई बनाने की जरूरत है तो हम क्यूटी डिजाइनर का उपयोग कर रहे हैं।
बात कुछ कार्यों के लिए सिर्फ छोटे विजेट बनाने की है (जैसे आप एक क्लास-डिज़ाइन में करेंगे) और फिर उन्हें एक "पैरेंट-गुई" में मिला दें।

इस तरह से आपके विजेट अत्यधिक पुन: प्रयोज्य हैं और Guis के लिए एक मॉड्यूलर तरीके से उपयोग किए जा सकते हैं। आपको बस यह बताना होगा कि प्रत्येक विजेट किस सिग्नल को भेज रहा है और वे कौन से स्लॉट प्रदान करते हैं।

हम अतिरिक्त .ui-Files बना रहे हैं, जो निर्माण-प्रक्रिया के दौरान उत्पन्न हो सकते हैं। अब तक उन फ़ाइलों को हाथ से संपादित करने की कोई आवश्यकता नहीं थी।


0


QtDesigner का उपयोग करके विभिन्न .ui फ़ाइलों में अपने UI के विभिन्न भागों का निर्माण करें ,
फिर उन्हें कोड में एक साथ लाएँ (और जटिलताएँ जोड़ें)।

ऐसी चीजें हैं जो आप Qt Designer में नहीं कर सकते, आप केवल कोड में कर सकते हैं,
इसलिए Qt डिज़ाइनर टूल श्रृंखला का सिर्फ एक (महान) हिस्सा है ।


ओह @MOnsDaR का कहना है बिल्कुल के रूप में
डेव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.