खोज…


टिप्पणियों

क्या है wxPython

सीधे शब्दों में कहें wxPython wxWidgets C ++ क्रॉस प्लेटफॉर्म GUI लाइब्रेरी के लिए बाइंडिंग का एक सेट है।

ठीक है wxWidgets क्या है

WxWidgets लाइब्रेरी एक मुफ्त, मुफ्त और खुला स्रोत, विभिन्न जीयूआई तत्वों के लिए सार का सेट प्रदान करती है ताकि मूल नियंत्रण अभी भी उपयोग किया जाता है, जहां उपलब्ध है, देशी लुक, महसूस और गति बनाए रखता है। जैसे कि यह जीयूआई निर्माण और एक मंच में कई अन्य उपयोगिताओं के लिए एक अमूर्तता प्रदान करता है जो डेवलपर्स को एकल कोड आधार का उपयोग करके विंडोज, मैक ओएस एक्स, लिनक्स और अन्य प्लेटफार्मों के लिए एप्लिकेशन बनाने देता है। wxWidgets 1992 में शुरू किया गया था और आप यहां एक विस्तृत इतिहास देख सकते हैं। WxWidgets लाइब्रेरी को wxWindows लाइसेंस के तहत वितरित किया जाता है, जो L-GPL पर आधारित है, लेकिन अपवाद खंड के साथ हैअपवाद खंड आपको अपने स्वयं के अनुप्रयोग के लिए स्रोत वितरित करने की आवश्यकता के बिना wxWidgets के लिए गतिशील या सांख्यिकीय रूप से अपने आवेदन को लिंक करने की अनुमति देता है। दूसरे शब्दों में, आप किसी भी कीमत पर मुफ्त या व्यावसायिक परियोजनाओं के लिए wxWidgets का उपयोग कर सकते हैं। लाइसेंस आपको प्रोत्साहित करता है कि आप अपने आप को wxWidgets पुस्तकालय में वापस बढ़ाने के लिए दें।

हाइलाइट, ध्यान दें कि wxWidgets में क्रॉस प्लेटफॉर्म एप्लिकेशन डिवेलपमेंट के लिए 100 वर्ग शामिल हैं :

  • विंडो लेआउट Sizers का उपयोग
  • डिवाइस कॉन्टेक्ट्स (पेन, ब्रश और फोंट के साथ)
  • व्यापक इवेंट हैंडलिंग सिस्टम
  • HTML हेल्प व्यूअर
  • ध्वनि और वीडियो प्लेबैक
  • यूनिकोड और अंतर्राष्ट्रीयकरण समर्थन
  • दस्तावेज़ / दृश्य वास्तुकला
  • मुद्रण Archiecture
  • सॉकेट
  • बहु सूत्रण
  • फ़ाइल और निर्देशिका हेरफेर
  • ऑनलाइन और संदर्भ-संवेदनशील मदद
  • HTML प्रतिपादन
  • बेसिक कंटेनर
  • इमेज लोडिंग, सेविंग, ड्रॉइंग और मैनीपुलेशन
  • डेट-टाइम लाइब्रेरी और टाइमर
  • गलती संभालना
  • क्लिपबोर्ड और ड्रैग-एंड-ड्रॉप

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

कई वर्षों के लिए wxWidgets लाइब्रेरी, स्रोत कोड के एक सेट से डिबग बिल्ड के अलावा , 4 अलग-अलग बिल्ड का उत्पादन करती है, ASCII और यूनिकोड दोनों के लिए निर्मित स्थिर और गतिशील लाइब्रेरी। यह आमतौर पर उपलब्ध वातावरण के लिए विभिन्न विकल्पों के साथ और डेवलपर्स C ++ टूल चेन के साथ कई टूल चेन के साथ बनाने के लिए सबसे आम वेरिएंट और स्रोत कोड के रूप में पूर्व-निर्मित उपलब्ध है।

इस पुस्तकालय के लिए अजगर बाँधता है और कुछ परिवर्धन wxPython का निर्माण करता है।

वापस क्या है wxPython, (यह मुझे क्या देता है)?

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

  • सहित पूर्ण जीयूआई सूट, (लेकिन सीमित नहीं):
    • विंडोज (एमडीआई विंडोज सहित)
    • जादूगरों
    • फ्रेम्स और मिनीफ्रेम
    • संवाद, मानक, उन्नत और कस्टम
    • किताबें, पेड़, ग्रिड और डेटा दृश्य नियंत्रण
    • Gauges, स्लाइडर, स्पिनर, एनिमेशन, क्लिपबोर्ड, ड्रैग एंड ड्रॉप
    • एचटीएमएल, पीडीएफ और छवि दर्शक समर्थन करते हैं
    • GUI घटकों को पूरी तरह से तैनात किया जा सकता है लेकिन यह sizer आधारित लेआउट का उपयोग करने के लिए दृढ़ता से अनुशंसा की जाती है जो ऑटो साइज़िंग आदि का समर्थन करते हैं।
  • क्रॉस प्लेटफ़ॉर्म - अपने कोड में सशर्त बयानों के बिना एकल कोड आधार के साथ विंडोज, ओएस-एक्स और लिनक्स के लिए जीयूआई का समर्थन करें
  • देशी गति, देखो और महसूस करो।
  • रैपिड प्रोटोटाइप, टेस्ट और डिबग - याद रखें कि यह अजगर है
  • डेमो पैकेज में सब कुछ के बारे में नमूने चलाएँ और संपादित करें।
  • मुफ्त के लिए लाइसेंस प्राप्त वाणिज्यिक उत्पादों में भी उपयोग करते हैं।
  • यदि आवश्यक हो तो आपके अजगर GUI को C ++ wxWidgets GUI के बाद में फिर से बनाया जा सकता है क्योंकि यह पहले से ही इसका उपयोग कर रहा है।
  • StackOverflow और मेलिंग सूची दोनों पर बड़े, सक्रिय और सहायक उपयोगकर्ता और डेवलपर समुदाय।

ध्यान दें कि जहां अजगर खुद wxWidgets के उपयोगिता कार्यों को लागू करने के लिए एक क्रॉस प्लेटफ़ॉर्म तंत्र प्रदान करता है, फिर से एक अच्छा उदाहरण होने के नाते , यह जानबूझकर wxPython से छोड़ा गया है।

wxPython में प्रदर्शनों का एक बहुत बड़ा सूट है जिसे दस्तावेज़ों और डेमो पैकेज के भीतर से चलाया, परीक्षण और संपादित किया जा सकता है।

WxPython का फ्लेवर

ASCII बनाम यूनिकोड :

कई वर्षों के लिए, wxWidgets के साथ , डेवलपर्स को ASCII और यूनिकोड बिल्ड के बीच चयन करना था और साथ ही अपने विशिष्ट संस्करण अजगर के लिए 32/64 बिट विकल्पों के लिए एक बिल्ड की आवश्यकता थी। के बारे में wxPython 2.8.9 के रूप में ASCII केवल wxPython का निर्माण छोड़ दिया गया है, इसलिए यूनिकोड समर्थन हमेशा उपलब्ध है।

क्लासिक बनाम फीनिक्स :

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

WxPython में लेकिन wxWidgets नहीं

wxPython कई विशेषताओं के साथ wxWidgets लाइब्रेरी का विस्तार करता है, निम्नलिखित कुछ ही हैं, जो wxWidgets में उपलब्ध नहीं हैं:

  • प्रोग्रामर संपादकों और गोले: क्रस्ट , crustslices , AlaCart और AlaMode , AlaCodeest
  • दुभाषिया और जादू
  • निरीक्षण - यह आपको अपने सभी अनुप्रयोगों GUI घटकों को ब्राउज़ करने के लिए एक विंडो लॉन्च करने की अनुमति देता है।
  • डेमो का एक व्यापक सेट

Win10 पर डेमो स्क्रीनशॉट

सभी शाखाओं के साथ wxPython डेमो बंद: यहाँ छवि विवरण दर्ज करें हालिया परिवर्धन में से एक: यहाँ छवि विवरण दर्ज करें AGW में से एक, (उन्नत सामान्य विजेट): यहाँ छवि विवरण दर्ज करें

WxPython फीनिक्स की स्थापना

wxPython फीनिक्स wxPython का नवीनतम संस्करण है, (वर्तमान में आधिकारिक रिलीज के बिना सितंबर 2016 )। यह Python 2 और Python दोनों को सपोर्ट करता है। आप यहां अपने प्लेटफॉर्म और Python वर्जन के लिए स्नैपशॉट बिल्ड (यानी Python व्हील) डाउनलोड कर सकते हैं

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

WxPython फीनिक्स को स्थापित करने से पहले अजगर और पाइप को स्थापित किया जाना चाहिए।

आप wxPython के फीनिक्स संस्करण को स्थापित करने के लिए पाइप का उपयोग कर सकते हैं। यहाँ वर्तमान में अनुशंसित विधि है:

python -m pip install --no-index --find-links=http://wxpython.org/Phoenix/snapshot-builds/ --trusted-host wxpython.org wxPython_Phoenix

जब आप इस कमांड का उपयोग करते हैं, तो पाइप wxWidgets भी स्थापित करेगा। फीनिक्स के आधिकारिक तौर पर जारी किए जाने पर यह जटिल पाइप कमांड संभवतः 'पाइप इंस्टॉल wxpython' बन जाएगा।

नोट: wxPython फीनिक्स वर्तमान में बीटा में है और इसमें वे सभी विजेट नहीं हैं जो क्लासिक संस्करण में हैं।

WxPython Classic की स्थापना

wxPython Classic, wxPython लाइब्रेरी का पायथन 2 बिल्ड है। अजगर बाइंडिंग की पीढ़ी को बड़ी संख्या में मैनुअल हस्तक्षेप की आवश्यकता होती है और प्रलेखन बस wxWidgets दस्तावेज़ीकरण होता है जिसमें wxPython तंत्र पर कुछ एनोटेशन होते हैं जैसे कि wxWidgets की एक नई रिलीज़ और wxPython के मेल रिलीज़ के बीच आम तौर पर हफ्तों तक देरी होती है। ।

WxPython वेबसाइट पर डाउनलोड पृष्ठ पर जाएं यह देखने के लिए कि क्या पहले से ही wxPython का कोई संस्करण है जिसे आप अपने प्लेटफ़ॉर्म के लिए डाउनलोड कर सकते हैं।

क्लासिक का नवीनतम संस्करण 3.0.2.0 है

खिड़कियाँ

वेबसाइट पर 32-बिट और 64-बिट विंडोज प्लेटफॉर्म के लिए पायथन 2.6 और 2.7 के लिए इंस्टॉलर हैं। बस इनमें से एक को डाउनलोड करें और इसे इंस्टॉल करने के लिए चलाएं।

नोट: सुनिश्चित करें कि आपने सही पायथन के लिए wxPython इंस्टॉलर डाउनलोड किया है। उदाहरण के लिए, यदि आपके पास पायथन 2.7 32-बिट है, तो आप एक wxPython 32-बिट इंस्टॉलर चाहते हैं

मैक

यदि आपके पास OSX 10.5 या इसके बाद का संस्करण है , तो आप wxPython के कोको संस्करण को डाउनलोड और इंस्टॉल करना चाहेंगे। कोको संस्करण भी 64-बिट मैक का समर्थन करता है।

यदि आपके पास 10.5 से कम OSX के संस्करण के साथ एक मैक है, तो आप कार्बन बिल्ड चाहते हैं।

लिनक्स

यह देखने के लिए कि आपके लिनक्स प्लेटफ़ॉर्म के पैकेज मैनेजर (यानी यम, एप्ट-गेट, इत्यादि) में पहली बात यह देखने के लिए है कि क्या यह wxPython का संस्करण है जिसे आप इंस्टॉल कर सकते हैं। दुर्भाग्य से, wxPython के लिए बहुत सारे लिनक्स पैकेज 3.0.2.0 के बजाय 2.8.12.1 संस्करण के लिए हैं। यदि आपके पैकेज मैनेजर के पास नवीनतम संस्करण नहीं है, तो संभवतः आपको इसे स्वयं बनाना होगा।

यहां 3.0.2.0-Classic के लिए निर्मित निर्देश हैं

नमस्ते दुनिया

हैलो वर्ल्ड प्रोग्राम बनाने का एक सरल तरीका:

import wx
app = wx.App(redirect=False)
frame = wx.Frame(parent=None, id=wx.ID_ANY, title='Hello World')
frame.Show()
app.MainLoop()

आउटपुट:

हैलो वर्ल्ड आउटपुट

एक अधिक विशिष्ट उदाहरण wx को उपवर्गित करना होगा।

import wx

class MyFrame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, title='Hello World')
        self.Show()

if __name__ == '__main__':
    app = wx.App(redirect=False)
    frame = MyFrame()
    app.MainLoop()

पायथन के सुपर का उपयोग करने के लिए इसे फिर से लिखा जा सकता है:

import wx  

class MyFrame(wx.Frame):
        
    def __init__(self, *args, **kwargs):
        """Constructor"""
        super(MyFrame, self).__init__(*args, **kwargs)
        self.Show()

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, title='Hello World')
    app.MainLoop()

एक wxPython रिलीज श्रृंखला क्या है?

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

  • स्थिर : श्रृंखला की अवधि के लिए मौजूदा एपीआई को संशोधित नहीं किया गया है, हालांकि नए गैर-आभासी वर्ग के तरीके और ऐसे जोड़े जा सकते हैं। C ++ लिबास की द्विआधारी संगतता को किसी भी परिवर्तन की अनुमति नहीं देकर बनाए रखा जाता है जो इन-मेमोरी आकार या कक्षाओं और संरचनाओं के लेआउट को संशोधित करता है। यह और अक्सर किस तरह के संवर्द्धन या बग फिक्स पर सीमाएं लगा सकता है, एक स्थिर रिलीज श्रृंखला में किया जा सकता है, हालांकि यह वास्तव में केवल C ++ परत को प्रभावित करता है क्योंकि पायथन के पीछे की ओर संगत होने से थोड़ा अलग अर्थ होते हैं।

  • विकास : रिलीज की विकास श्रृंखला का मुख्य उद्देश्य नई कार्यक्षमता को जोड़ना या उन समस्याओं को दूर करना है जो बाइनरी संगतता मुद्दों के कारण स्थिर श्रृंखला में सही नहीं हो सके, सभी अगले स्थिर श्रृंखला बनाने के प्रयास में हैं। इसलिए विकास श्रृंखला की अवधि के लिए मौजूदा एपीआई को आवश्यकतानुसार संशोधित या हटाने की अनुमति दी जाती है, हालांकि अधिकांश समय सी ++ स्रोत-स्तरीय संगतता को वर्धित ओवरलोड कार्यों या मैक्रोज़ आदि के माध्यम से बनाए रखा जाता है, क्योंकि wxPython के लिए अक्सर इसका मतलब है कि वहाँ होगा स्रोत-स्तर की असंगतताएं हों क्योंकि ओवरलोडिंग या मैक्रोज़ नहीं हैं, और एपीआई के नए संस्करण का समर्थन करने के लिए कभी-कभी पुराने संस्करण को हटाना पड़ता है।

बाइनरी संगतता समस्याओं के कारण, wxWidgets / wxPython का नवीनतम विकास संस्करण अक्सर अंतिम स्थिर रिलीज़ श्रृंखला के नवीनतम संस्करण की तुलना में कम छोटी गाड़ी हो सकता है। हालांकि व्यापार-बंद है कि एपीआई विकास श्रृंखला में संस्करणों के बीच बदल रहा है या विकसित हो रहा है।

वर्जन नंबर कैसे काम करते हैं?

रिलीज़ के लिए wxPython 4 घटक संस्करण संख्या का उपयोग करता है। हालांकि यह बहुत कुछ दिखता है कि अन्य ओपन सोर्स परियोजनाओं में संस्करण संख्याओं का उपयोग कैसे किया जाता है, कुछ सूक्ष्म अंतर हैं। तो कुछ रिलीज एबीसीडी के लिए आप निम्नलिखित को घटा सकते हैं:

  1. रिलीज़ श्रृंखला : संस्करण संख्या ( एबी ) के पहले दो घटक रिलीज़ श्रृंखला का प्रतिनिधित्व करते हैं, और यदि बी घटक एक समान संख्या है तो यह एक स्थिर श्रृंखला है, यदि यह एक विषम संख्या है तो यह एक विकास रिलीज़ श्रृंखला है। उदाहरण के लिए, 2.4, 2.6, और 2.8 स्थिर हैं और प्रत्येक श्रृंखला के भीतर एपीआई अधिक या कम जमी है, और 2.3, 2.5 और 2.7 विकास कर रहे हैं और एपीआई और कार्यक्षमता को बदलने या आवश्यकतानुसार विकसित करने की अनुमति है।

इसकी वजह से एक स्थिर श्रृंखला से अगले (2.4 से 2.6 तक) के बीच काफी बड़े बदलाव हो सकते हैं और यह अक्सर लोगों को परेशान करता है क्योंकि अन्य परियोजनाओं में उस परिमाण के परिवर्तन के कारण संस्करण संख्या का पहला घटक बदल जाता है। इसके बजाय आपको संस्करण की प्रमुख संख्या के रूप में एबी के संयोजन के बारे में सोचना चाहिए।

  1. रिलीज नंबर : संस्करण संख्या (सी) का तीसरा घटक एक रिलीज श्रृंखला में रिलीज में से एक का प्रतिनिधित्व करता है। उदाहरण के लिए, 2.5.0, 2.5.1, 2.5.2, 2.5.3 ... 2.5 रिलीज श्रृंखला में सभी रिलीज हैं। (और चूंकि इस मामले में यह एक विकास श्रृंखला है तो 2.5.3 की एपीआई और कार्यक्षमता 2.5.0 की तुलना में स्थानों में भिन्न होने के लिए विकसित हुई है।) सी ++ wxWidgets रिलीज आमतौर पर यहां रुकती हैं और केवल एबीसी रिलीज होती हैं।

  2. Subrelease नंबर, या wxPython रिलीज़: संस्करण संख्या (D) के चौथे घटक का उपयोग एक सबरेल का प्रतिनिधित्व करने के लिए किया जाता है, या वृद्धिशील आधिकारिक wxWidgets रिलीज़ को जारी करता है। इन रिलीज़ों में wxWidgets बग के लिए फ़िक्सेस शामिल हैं, जो wxPython को उजागर कर सकते हैं, या छोटे संवर्द्धन जो कि wxPython के लिए महत्वपूर्ण हैं। यह एक मनमाना wxWidgets स्नैपशॉट नहीं है, बल्कि कोड का एक परीक्षण किया गया संस्करण है, जो अभी तक wxWidgets के स्रोत कोड रिपॉजिटरी को छोड़कर फ़िक्सेस और एन्हांसमेंट के साथ उपलब्ध नहीं है।

स्रोत: https://wiki.wxpython.org/ReleaseSeries



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow