पायथन + क्यूटी # 1 के साथ पहले चरण

यह ट्यूटोरियल एक प्रोग्रामिंग लैंग्वेज के रूप में पायथन का उपयोग करते हुए क्यूटी फ्रेमवर्क के उपयोग को सिखाने पर केंद्रित है, इसके लिए हम PySide और PyQt दोनों का उपयोग कर सकते हैं, लेकिन इस ट्यूटोरियल में हम PySide का उपयोग करेंगे क्योंकि इस ट्यूटोरियल के लेखक को LGPL PyDide लाइसेंस बेहतर पसंद है। GPL या PyQt वाणिज्यिक की तुलना में।

पहला ... पायथन क्या है?

विकिपीडिया के अनुसार:

"पायथन एक बहुत ही उच्च स्तरीय व्याख्या की गई प्रोग्रामिंग भाषा है जिसका दर्शन बहुत साफ वाक्यविन्यास पर जोर देता है और पठनीय कोड का समर्थन करता है।"

पायथन एक बहुप्रचलित प्रोग्रामिंग भाषा है, इसलिए यह विभिन्न अजगर प्रोग्रामिंग प्रतिमानों का समर्थन करता है, उदाहरण के लिए यह समर्थन करता है: ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (ओओपी), इंपीरियल प्रोग्रामिंग (संरचित) और कुछ हद तक कार्यात्मक प्रोग्रामिंग।

उतना ही?

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

पूर्वोक्त के अलावा, पायथन हमें (कई अन्य लोगों की तरह) अनुमति देता है, वेब वातावरण और वेब डेस्कटॉप दोनों में प्रोग्रामिंग करता है, यह क्रॉस-प्लेटफ़ॉर्म भी है, वर्तमान में यह Gnu / Linux, Windows, Mac osx, Android (यदि आप का समर्थन करता है) उन्हें आपके संशोधन के लिए उल्लेख करने की आवश्यकता है)।

क्यूटी क्या है?

क्यूटी एक मल्टीप्लेयर फ्रेमवर्क है, जिसे मूल रूप से नोकिया द्वारा विकसित किया गया है, जिसे बाद में डिगिया को बेचा जा सकता है, जिसका उपयोग अनुप्रयोग विकास के लिए किया जाता है, C ++ में लिखा जाता है, लेकिन इसे अन्य भाषाओं में बाइंडिंग (हमारे मामले में PySide या PyQt) के माध्यम से उपयोग किया जा सकता है )

PySide और PyQt के बीच अंतर

मुख्य रूप से

  • लाइसेंस, PySide को LGPL की शर्तों के तहत लाइसेंस दिया गया है और PyQT GPL की शर्तों के तहत या वाणिज्यिक लाइसेंस के तहत है, इसलिए हमें एक बंद एप्लिकेशन बनाने के मामले में भुगतान करना होगा।
  • PySide Nokia द्वारा बनाया गया है, और PyQt रिवरबैंक द्वारा बनाया गया है।
  • जब भी हम प्रत्येक क्यूटी ऑब्जेक्ट के QString का उपयोग करते हैं तो PySide हमें STR का उपयोग करने की परेशानी से बचाता है।

हम संपूर्ण परिवर्तनों का विवरण दे सकते हैं यहां.

तैयारी:

हम Qt स्थापित करते हैं:

यदि हमारे पास केडीई के साथ डिस्ट्रो है तो हमारे पास पहले से ही वह होना चाहिए जो आवश्यक है, यदि नहीं:

sudo apt-qt4-dev-tools स्थापित करें

हम PySide स्थापित करते हैं:

sudo apt-get install pyside pyside-tools

हमारा पहला पायथन + क्यूटी एप्लीकेशन

हम अपने पसंदीदा टेक्स्ट एडिटर के पास जाते हैं, मैं सुझाव देता हूं कि आप सब-टेक्स्ट -2 इंस्टॉल करें, लेकिन आप जो चाहें उसे इस्तेमाल कर सकते हैं, और हम निम्नलिखित कोड टाइप करते हैं और इसे उस नाम के साथ सहेजते हैं जिसे हम हमेशा एक्सटेंशन के साथ समाप्त करना चाहते हैं। ".py" , मैं app1.py के रूप में बचा लेंगे:

3

कोड देखें

हम इसे इस तरह से कंसोल से चलाते हैं:

python app1.py

यह विंडो दिखाई देनी चाहिए

2

क्या? केवल वह, ठीक है, यदि पहले आपके पास केवल एक कंसोल था, तो आप किस बारे में शिकायत कर रहे हैं? आपको क्या उम्मीद थी, एक ईआरपी? चलो यार, कुछ तो शुरू होता है.

अब कोड समझाते हैं:

from PySide.QtGui import *

from sys import exit, argv

यहां हम PySide के निष्पादन के लिए आवश्यक मॉड्यूल आयात करते हैं।

app = QApplication(argv)

हम नाम ऐप के साथ Qapplication उदाहरण बनाते हैं।

window = Qwidget()

हम QWidget () का उदाहरण बनाते हैं।

window.setWindowTitle("Primera App PySide")

हम setWindowTitle विधि को निष्पादित करते हैं, जो हमारे Qwidget के शीर्षक को "सेट" करने के लिए एक पैरामीटर के रूप में एक स्ट्रिंग प्राप्त करता है।

window.show()

हम अपनी खिड़की दिखाते हैं

exit(app.exec_())

अंत में हम अपने QApplication() के निष्पादन के अनंत चक्र को निष्पादित करते हैं।

धन्यवाद

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

Adicional mente les añado el link al foro de desde linux donde tengo un pequeño tema con una pequeña biblioteca de tutoriales y guías de python, que contiene diferentes termas que incluyen:

बुनियादी पायथन ट्यूटोरियल

wxPython

PyQt और PySide

Django

web2py

अजगर में वैज्ञानिक प्रोग्रामिंग।

और बहुत सारे।

फोरम के लिए लिंक

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


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   @ ट्रस्ट 17 कहा

    पोस्ट के लिए धन्यवाद!

  2.   एन्युबिस कहा

    2 बातें:

    1. क्यूटी मूल रूप से नोकिया द्वारा विकसित नहीं किया गया था, लेकिन ट्रोलटेक द्वारा, जिसे बाद में नोकिया द्वारा खरीदा गया था। बाद में क्यूटी को डिगिया को बेच दिया गया।
    2. पहले एप्लिकेशन उदाहरण की छवि कोड के अनुरूप नहीं है।

    ट्यूटोरियल के लिए धन्यवाद, मैं इसका अनुसरण करूंगा 🙂

    1.    f3niX कहा

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

    2.    f3niX कहा

      मैं संशोधित नहीं कर सकता, मैं इसे किसी संपादक पर छोड़ता हूं।

      नमस्ते.

      1.    निसानोव कहा

        संशोधित ट्यूटोरियल के साथ किसी संपादक को एक ईमेल भेजें। आप इसे @nano के ईमेल पर भेज सकते हैं जो संपादकों में से एक है
        mailto: nano.world.contact@gmail.com
        कृपया इस तरह ट्यूटोरियल मत छोड़ो
        का संबंध है

  3.   Germán कहा

    एक बात मुझे प्रभावित करती है: आप कोड में "आयात से *" का उपयोग क्यों करते हैं?

    नमस्ते!

    1.    f3niX कहा

      यह आयात करने का सही तरीका है, इस तरह आयात करते समय आप यह बताते हैं कि आप किस मॉड्यूल के विशिष्ट वर्ग को आयात करना चाहते हैं, और आप पूरे मॉड्यूल को कॉल नहीं करते हैं।

      नमस्ते.

      1.    Germán कहा

        यह मुझे थोड़ा भ्रमित करने वाला लगता है। इसके अलावा, यह PEP8 में अनुशंसित नहीं है:

        "वाइल्डकार्ड आयात (मॉड्यूल आयात * से) से बचा जाना चाहिए, क्योंकि वे यह स्पष्ट नहीं करते हैं कि कौन से नाम नामस्थान में मौजूद हैं, पाठकों और कई स्वचालित उपकरणों को भ्रमित करते हैं ..."

        1.    f3niX कहा

          मुझे किसी भी चीज़ से अधिक पेशेवर कोड, जैसे कि निंजा-आइड, द्वारा निर्देशित किया गया है, आप कोड यहां देख सकते हैं: https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.py, यह PyQt में भी किया गया है, लेकिन वैसे भी ऐसा कुछ भी नहीं है जो आपको एक या दूसरे तरीके का उपयोग करने के लिए मजबूर करता हो।

          यहां आप इस बारे में StackOverflow पर चर्चा देख सकते हैं:

          http://stackoverflow.com/questions/710551/import-module-or-from-module-import

          वहां वे प्रत्येक शैली के फायदे और नुकसान का उल्लेख करते हैं।

          1.    f3niX कहा

            ठीक है, मैं आपको समझ नहीं पाया, मुझे पता है कि, मैंने केवल यह किया था क्योंकि मैं प्रत्येक तत्व QApplication, QWidget का स्पष्टीकरण नहीं देने वाला था, फिर सामान्यीकरण करता हूं लेकिन आप बिल्कुल सही हैं।

            गलतफहमी का बहाना।

          2.    Germán कहा

            नहीं, आप समझ नहीं पाए या आपने ध्यान नहीं दिया ... मेरा मतलब है कि "मॉड्यूल इंपोर्ट से *» का उपयोग कर रहा है, मेरा मतलब है कि «एस्टेरिस्क» ... उस StackOverflow पोस्ट में वे कुछ और के बारे में बात कर रहे हैं, " लेकिन वे अभी भी इस पर जोर देते हैं:

            "कोई भी विधि स्वीकार्य है, लेकिन मॉड्यूल आयात से उपयोग न करें*।"

            क्या यह अब समझ में आया है?

          3.    फेलिप कहा

            जर्मन सही है. यदि आप उस आयात मॉड्यूल के लिए तारांकन के साथ सभी सामग्री आयात करते हैं, तो मॉड्यूल आयात का क्या उपयोग है। वही अच्छी पोस्ट है.

          4.    Germán कहा

            आह ठीक है, अब मैं समझता हूं ... वैसे भी, मुझे बहुत लंबा समय नहीं है, मैं पायथन में भी शुरुआत कर रहा हूं। यदि आप मेरे ब्लॉग पर जाते हैं, तो आप देखेंगे कि मैंने आपकी तरह ही पोस्ट बनाया है, लेकिन Gtk + 3 के साथ PyGObject का उपयोग करके।

            बधाई और धन्यवाद!

        2.    f3niX कहा

          यहां मैं Pep8 को स्पैनिश में im के उपयोग की अनुशंसा करते हुए छोड़ता हूं
          किसी पैकेज से कोड आयात करने के लिए सापेक्ष आयात का उपयोग करना बहुत ही असावधान है। सभी आयातों के लिए हमेशा पूर्ण पैकेज पथ का उपयोग करें। यहां तक ​​कि अब जबकि PEP 328 [7] पूरी तरह से पायथन 2.5 में लागू किया गया है, रिश्तेदार आयातों का उपयोग करके गंभीरता से हतोत्साहित किया जाता है; पूर्ण आयात अधिक पोर्टेबल हैं और आमतौर पर अधिक पठनीय हैं।

          जब आप किसी मॉड्यूल से कक्षा आयात करते हैं, तो ऐसा करना आमतौर पर ठीक होता है
          Myclass से MyClass आयात करें
          foo.bar.yourclass से YourClass आयात करें

          सादर

          1.    घनाकार कहा

            इसे पढ़ें: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided

            एलेक्स मार्टेली (कोर पीवाई डेवलपर) कुछ इस तरह की सिफारिश करता है:


            from PyQt4 import QtCore, QtGui

  4.   MSX कहा

    मैं और चाह रहा था, जब दूसरा भाग?
    अभिवादन 🙂

  5.   एलियोटाइम३००० कहा

    बहुत अच्छे ट्यूटोरियल, साथ ही प्रोग्राम करना अधिक आरामदायक हो सकता है।

  6.   घनाकार कहा

    यहां स्क्रैच से इंटरफ़ेस का एक उदाहरण दिया गया है (QtDesigner का उपयोग किए बिना)।

    https://github.com/xr09/metrocontador

    1.    f3niX कहा

      धन्टर ऐप बेहतरीन है, यहां हमें यह भी नहीं पता कि वे हमसे बिजली के लिए कितना चार्ज करते हैं, हाहा नमस्ते।

      1.    घनाकार कहा

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

  7.   जोस एलॉय कहा

    मैं इस पाठ्यक्रम से बहुत अवगत होऊंगा। मुझे लंबे समय से क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों में दिलचस्पी है और मुझे लगता है कि पायथन + क्यूटी / पीसाइड संयोजन एक बढ़िया विकल्प है। बधाई और पहल के लिए बधाई

  8.   ब्रायन रोड्रिगेज कहा

    मैंने बिल्कुल वैसे ही सभी चरणों का पालन किया जैसा आप कहते हैं, लेकिन जब मैं टर्मिनल में app1.py चलाता हूं तो यह ट्रेसबैक (सबसे हालिया कॉल अंतिम) कहता है:
    फ़ाइल "app1.py", पंक्ति 1, में
    PySide.QtGui आयात * से
    आयात त्रुटि: PySide.QtGui नाम का कोई मॉड्यूल नहीं। यह किस लिए है?

    1.    फेलिप कहा

      ऐसा इसलिए है क्योंकि आप डिफ़ॉल्ट दुभाषिया के रूप में पायथन के एक संस्करण का उपयोग कर रहे हैं, लेकिन आपके पास उस संस्करण के लिए पाइसाइड स्थापित नहीं है।

      फ़ाइल की शुरुआत में जोड़ने का प्रयास करें:
      #! usr / bin / python3
      वरना
      #! usr / bin / python2

      मेरा सुझाव है कि आप पाइडेव के साथ एक्लिप्स का उपयोग करें और दुभाषिया को अच्छी तरह से कॉन्फ़िगर करें।
      SLDs

      1.    फेलिप कहा

        #! / usr / बिन / python3
        वरना
        #! / usr / बिन / python2

        1.    f3niX कहा

          PySide अभी तक Python3 के साथ संगत नहीं है, इससे सावधान रहें, और दूसरी बात, इंटरएक्टिव अजगर कंसोल के माध्यम से आयात की जांच करें, ताकि आप जान सकें कि आपने इसे स्थापित किया है या नहीं, यह पाइप भी स्थापित करता है।

          1.    ब्रायन रोड्रिगेज कहा

            मैं इसे कैसे सत्यापित करूं?

          2.    f3niX कहा

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

            शुभकामनाएँ और शुभकामनाएँ।

          3.    ब्रायन रोड्रिगेज कहा

            बहुत बहुत धन्यवाद, इससे मुझे बहुत मदद मिली।

          4.    मौरिसियो टोबारेस कहा

            देखो दोस्त F3niX मुझे यह मिला, ऐसा लगता है कि विंडोज़ पर अजगर 3.3.2 के लिए (जो कि मेरे पास अगले सप्ताह तक है) उनके पास 32 बिट्स और 64 बिट्स के लिए बायनेरिज़ हैं, मैंने आपके उदाहरण की कोशिश की और यह अजगर 3.3.2 के साथ काम करता है मैं अलग वातावरण स्थापित करने वाले PyScripter का उपयोग करता हूं, यदि आप अजगर 3 खोलते हैं तो यह स्क्रिप्ट 3 के रूप में चलाता है और यदि आप 2.7 खोलते हैं तो यह 2.7 के रूप में निष्पादित होता है और इसी तरह (तार्किक रूप से आपको अजगर के उस संस्करण को स्थापित करना होगा ... यह समझा जाता है)

            http://qt-project.org/wiki/PySide_Binaries_Windows

            मैं तुम्हें वहीं छोड़ दूँगा, इसके बारे में गपशप करो, शायद इससे किसी और को मदद मिलेगी 😀

      2.    ब्रायन रोड्रिगेज कहा

        मुझे समान त्रुटि मिली।

        1.    Germán कहा

          क्या आपके पास PySide स्थापित है?

          1.    ब्रायन रोड्रिगेज कहा

            मैंने इसे स्थापित किया है।

        2.    फेलिप कहा

          और PyQT4 के साथ इसे स्थापित करने का प्रयास करें और फिर PyQT4 या PyQt4 के लिए PySide लाइनों को बदलें, और इसे निष्पादित करने के लिए दें। जोजो ग्रहण का उपयोग करें। भाग्य।

          1.    ब्रायन रोड्रिगेज कहा

            मैं उसको कैसे करू?।

  9.   कर्लिनक्स कहा

    आपका बहुत-बहुत धन्यवाद !!! दूसरे अध्याय की प्रतीक्षा है

    1.    f3niX कहा

      इस शुक्रवार के लिए शायद मैं इसे प्रकाशित करूंगा (विश्वविद्यालय ने मुझे थोड़ा सा शुभकामना दी है)।

  10.   मौरिसिओटोबारेस कहा

    मित्र F3nIX मैं आपके ट्यूटोरियल नंबर 2, 3, 4 का इंतजार कर रहा हूं...एन हेहेहे

    मेरे पास पहले से ही पायसाइड वेटिंग और सब कुछ के साथ मेरा बहुत ही सुंदर लिनक्स स्थापित है!!!

    आइए देखें कि उसे नया ट्यूटोरियल दिखाने के लिए कब प्रोत्साहित किया जाता है 😀

    1.    f3niX कहा

      क्षमा करें दोस्त, मेरे पास यह ड्राफ्ट में है लेकिन काम और पढ़ाई के कारण मुझे समय नहीं मिल पाता है, मैं वादा करता हूं कि इस सप्ताह कुछ निकालूंगा।

      एक बड़ा अभिवादन

  11.   दांते कहा

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

  12.   जॉर्ज कहा

    नमस्कार, आपकी पोस्ट बहुत अच्छी है। मेरा एक प्रश्न है। क्या मैं पाइसाइड से बना अपना ऐप बिना किसी समस्या के बेच सकता हूँ?

    1.    f3niX कहा

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

      किसी भी मामले में, मैं इस लाइसेंसिंग मामले में विशेषज्ञ नहीं हूं।

      नमस्ते.