2009-04-29 14 views
39

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

क्या इनमें से किसी भी टूलकिट के लिए कोई अच्छा जीयूआई आईडीई है? इसे मुक्त या मुक्त स्रोत होने की आवश्यकता नहीं है।

उत्तर

30

मैं केवल WxPython के बारे में बात करूंगा क्योंकि यह एकमात्र टूलकिट है जिसके साथ मुझे अनुभव है। TkInter छोटे कार्यक्रम लिखने के लिए अच्छा है (फिर इसे एक जीयूआई डिजाइनर की आवश्यकता नहीं है), लेकिन बड़े अनुप्रयोग विकास के लिए वास्तव में उपयुक्त नहीं है।

  • wxFormBuilder वास्तव में अच्छा है: यह .XRC फ़ाइलें आप अपने कार्यक्रम में लोड करने के लिए की जरूरत है उत्पन्न करता है, और यह उन्हें उपवर्गीकरण जब आप का उपयोग द्वारा .py फ़ाइलें उत्पन्न कर सकते हैं।

  • DialogBlocks और wxDesigner दो वाणिज्यिक सॉफ्टवेयर है जो अजगर कोड सीधे उत्पन्न कर सकते हैं कर रहे हैं। मैंने उनकी कीमत के कारण इनका परीक्षण नहीं किया।

  • wxGlade (मुझे लगता है) अभी तक बड़े कार्यक्रमों के लिए पर्याप्त परिपक्व नहीं है, लेकिन यह एक कोशिश के लायक है।

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

WxPython के साथ इस list of major applications पर एक नज़र डालें। आप शायद देखेंगे कि इनमें से कोई भी जीयूआई डिजाइनर का उपयोग नहीं करता है, इसके लिए एक कारण होना चाहिए।

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

+3

आप "बड़े अनुप्रयोग विकास" को कैसे परिभाषित करते हैं, और आपको क्यों लगता है कि टिंकर अनुपयुक्त है? जबकि मैंने इसे कभी भी एक लाख + लाइन एप्लिकेशन के साथ उपयोग नहीं किया है, मुझे लगता है कि यह wxPython के साथ-साथ स्केल करता है। –

0

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

15

यह आपके प्रश्न का सीधे उत्तर नहीं दे सकता है, लेकिन मैंने PyQt चुना क्योंकि WxPython के लिए कोई अच्छा यूआई डिज़ाइनर नहीं था।

स्पष्ट रूप से आप या तो अपने जीयूआई हाथ से लिखते हैं या पीईक्यूटी पर स्विच करते हैं।

क्योंकि नोकिया और रिवरबैंककंप्यूटिंग एलजीपीएल समाधान पर सहमत नहीं हो सका, नोकिया ने अपने स्वयं के बाइंडिंग बनाने का फैसला किया: PySide

+3

+1 क्यूटी डिजाइनर वह प्रोग्राम है जिसने मुझे यूआई डिजाइनरों से नफरत कम कर दी है। इसके अलावा, पीईक्यूटी बाइंडिंग थोड़ा और पाइथोनिक प्रतीत होता है, डब्ल्यूएक्स में सी ++ की बिट्स बहुत ज्यादा चिपक जाती हैं। (उदाहरण के लिए पूर्णांक घटना/क्रिया आईडी।) एक और बात यह है कि रनटाइम पर लोड किए गए जेनरेट कोड और संसाधन फ़ाइलों का उपयोग करना समान रूप से समान होता है। यह चोट नहीं पहुंचाता है कि जेनरेट कोड बहुत साफ है और आप जो कुछ भी लिखते हैं वह उतना ही अधिक है। – millimoose

+0

क्या पीईक्यूटी देशी दिखने का समर्थन करता है और विन/मैक/लिनक्स को महसूस करता है? –

+0

@ आंखें: आंशिक रूप से। मैक पर यह कार्बन तत्वों का उपयोग करता है (वे इसे कोको को पोर्ट कर रहे हैं ...) विन पर वे कस्टम तत्वों (मूल रूप और महसूस) से वास्तविक देशी विजेट में स्विच कर रहे हैं। लिनक्स पर वे कस्टम तत्व पेंट करते हैं, लेकिन सिस्टम पर सभी क्यूटी अनुप्रयोगों के लिए उपस्थिति को बदला जा सकता है। पीईक्यूटी का एक अन्य लाभ इसकी पुस्तकालय है, यह केवल एक जीयूआई ढांचे से कहीं अधिक है। –

4

मैं xrced का उपयोग करता हूं (wxPython के साथ आता है)। जीयूआई को एक्सएमएल फाइलों में परिभाषित किया गया है, आपके पास एक स्वत: जेनरेटेड पायथन फ़ाइल है जो कुछ प्रारंभिक को स्वचालित करती है, फिर आप उन स्वत: जेनरेटेड कक्षाओं को उप-वर्गीकृत करते हैं और बाकी के प्रारंभिक प्रारंभ करते हैं। मुझे लगता है कि जीयूआई कोड पीढ़ी के साथ हाथ से लिखित जीयूआई कोड के लालित्य को मिश्रित करने का यह एक अच्छा तरीका है।

कोड के लिए मैं WingIDE का उपयोग करता हूं, यह बड़ी लाइब्रेरी (या फ्रेमवर्क यदि आप करेंगे) WxPython से निपटने के दौरान एक अच्छा डीबगर और अच्छा स्रोत कोड पूरा करने में सहायक होता है।

यदि आप चाहते हैं और अधिक स्वचालन (और इसलिए, भद्दा कोड) Boa के नवीनतम संस्करण की कोशिश, वहाँ ShowMeDo.com

+1

हाथ से लिखित जीयूआई का लालित्य ??????? –

+3

अच्छा, अगर कोई सही करता है ...;) –

+0

यदि जीयूआई कोड सही तरीके से किया जाता है तो यह किसी भी अन्य कोड के रूप में सुरुचिपूर्ण है। – rectangletangle

1

पर इसके लिए कुछ अच्छा परिचयात्मक स्क्रीनकास्ट हैं VisualWx की कोशिश करो। मुझे लगता है कि जीयूआई डिजाइनर बहुत अच्छा है; हालांकि आईडीई काफी प्राथमिक है (कोई कोड पूरा करने, डिबगिंग आदि)। मेरा काम पैटर्न VisualWx और कमोडो एडिट/नेटबीन्स/आदि जैसे एक अच्छे संपादक के लिए है। एक ही समय में खोलें और आवश्यकतानुसार उनके बीच स्विच करें।

+0

विजुअल WX अच्छा लग रहा है, लेकिन यह अभी भी सक्रिय है? वेबसाइट अप्रैल 2007 से अल्फा संस्करण दिखाती है, और पिछले छह महीनों में मंच में केवल 5 संदेश हैं। –

+0

मैंने इसे एक गेम के लिए कॉन्फ़िगरेशन संवाद बनाने के लिए उपयोग किया है, और इसके लिए यह अच्छा काम करता है। यदि आप नए wxWindows संस्करणों से खून बहने वाली एज सामग्री चाहते हैं, तो यह शायद आपके उद्देश्यों को पूरा नहीं करेगा। लेकिन मैंने कोशिश की चीजों के लिए मेरे लिए अच्छा काम किया, यह मुफ़्त है, और वर्तमान संस्करण स्थिर लगता है (उदाहरण के लिए बोआ कन्स्ट्रक्टर के विपरीत)। मेरी सलाह है कि इसे बस कोशिश करें और देखें कि आप क्या सोचते हैं। – Brandon

5

Boa Constructor में एक WxPython GUI निर्माता है।

+1

बोआ कन्स्ट्रक्टर डेल्फी की तरह काम का एक उत्कृष्ट टुकड़ा है, लेकिन यह आपके द्वारा डिज़ाइन किए गए ट्रैक को ट्रैक रखने के लिए पाइथन ऑटो-जेनरेटेड स्रोत कोड को पार्स करने पर निर्भर करता है। यदि आप wxPython को अपग्रेड करते हैं तो आपको इसे फिर से काम करने के लिए अपने ऑटो-जेनरेट किए गए कोड को संपादित करना होगा (जैसे विभिन्न झंडे जोड़े जाते हैं या चीजों के बीच चीजों का नाम बदल दिया जाता है)।यह एक असली दर्द हो सकता है। – Nick

0

नहीं वास्तव में एक जीयूआई आईडीई लेकिन यह आप एक JSON फ़ाइल में Tkinter GUIs परिभाषित एल ई डी: https://github.com/tmetsch/pytkgen

1

मैं अपने अजगर आईडीई (जो शायद सबसे अच्छा समाधान वहाँ नहीं है के रूप में PyDev साथ ग्रहण उपयोग करें, लेकिन यह काफी है सभ्य)

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

ये सभी निःशुल्क हैं।

+0

अभी भी यह पता नहीं लगाया गया है कि ग्रहण करने के लिए पाइथन इंटरपरेटर को कैसे जोड़ा जाए, यह स्थापना बेवकूफ-सबूत नहीं है। यह मुझे मिला! – Iancovici

+0

मैं पाइथन दुभाषिया का उपयोग नहीं करता हूं, इसलिए मैं आपकी मदद नहीं कर सकता: पी –

+0

ने महसूस किया कि आपने WxGlade का उल्लेख किया है, सरल स्थापना और अनुकूल माहौल के लिए +1 =) – Iancovici