यह ट्यूटोरियल एक प्रोग्रामिंग लैंग्वेज के रूप में पायथन का उपयोग करते हुए क्यूटी फ्रेमवर्क के उपयोग को सिखाने पर केंद्रित है, इसके लिए हम 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 के रूप में बचा लेंगे:
हम इसे इस तरह से कंसोल से चलाते हैं:
python app1.py
यह विंडो दिखाई देनी चाहिए
क्या? केवल वह, ठीक है, यदि पहले आपके पास केवल एक कंसोल था, तो आप किस बारे में शिकायत कर रहे हैं? आपको क्या उम्मीद थी, एक ईआरपी? चलो यार, कुछ तो शुरू होता है.
अब कोड समझाते हैं:
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
अजगर में वैज्ञानिक प्रोग्रामिंग।
और बहुत सारे।
मुझे आशा है कि वे आपकी सेवा करेंगे, मैं अलविदा कहता हूं, इस अद्भुत समुदाय से जुड़ना हमेशा की तरह खुशी की बात है।
पोस्ट के लिए धन्यवाद!
2 बातें:
1. क्यूटी मूल रूप से नोकिया द्वारा विकसित नहीं किया गया था, लेकिन ट्रोलटेक द्वारा, जिसे बाद में नोकिया द्वारा खरीदा गया था। बाद में क्यूटी को डिगिया को बेच दिया गया।
2. पहले एप्लिकेशन उदाहरण की छवि कोड के अनुरूप नहीं है।
ट्यूटोरियल के लिए धन्यवाद, मैं इसका अनुसरण करूंगा 🙂
तुम बिलकुल सही हो, मैं इससे चूक गया। और दूसरी बात जो आप भी सही कह रहे हैं, वह यह है कि मैंने इसे आसान बनाने के लिए बदल दिया और वर्ग का उपयोग नहीं किया और मैंने संशोधन, शुरुआती त्रुटियों को याद किया। मैं पहले से ही कुछ संपादक के अनुमोदन के लिए उन्हें मंजूरी दे चुका हूं।
मैं संशोधित नहीं कर सकता, मैं इसे किसी संपादक पर छोड़ता हूं।
नमस्ते.
संशोधित ट्यूटोरियल के साथ किसी संपादक को एक ईमेल भेजें। आप इसे @nano के ईमेल पर भेज सकते हैं जो संपादकों में से एक है
mailto: nano.world.contact@gmail.com
कृपया इस तरह ट्यूटोरियल मत छोड़ो
का संबंध है
एक बात मुझे प्रभावित करती है: आप कोड में "आयात से *" का उपयोग क्यों करते हैं?
नमस्ते!
यह आयात करने का सही तरीका है, इस तरह आयात करते समय आप यह बताते हैं कि आप किस मॉड्यूल के विशिष्ट वर्ग को आयात करना चाहते हैं, और आप पूरे मॉड्यूल को कॉल नहीं करते हैं।
नमस्ते.
यह मुझे थोड़ा भ्रमित करने वाला लगता है। इसके अलावा, यह PEP8 में अनुशंसित नहीं है:
"वाइल्डकार्ड आयात (मॉड्यूल आयात * से) से बचा जाना चाहिए, क्योंकि वे यह स्पष्ट नहीं करते हैं कि कौन से नाम नामस्थान में मौजूद हैं, पाठकों और कई स्वचालित उपकरणों को भ्रमित करते हैं ..."
मुझे किसी भी चीज़ से अधिक पेशेवर कोड, जैसे कि निंजा-आइड, द्वारा निर्देशित किया गया है, आप कोड यहां देख सकते हैं: 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
वहां वे प्रत्येक शैली के फायदे और नुकसान का उल्लेख करते हैं।
ठीक है, मैं आपको समझ नहीं पाया, मुझे पता है कि, मैंने केवल यह किया था क्योंकि मैं प्रत्येक तत्व QApplication, QWidget का स्पष्टीकरण नहीं देने वाला था, फिर सामान्यीकरण करता हूं लेकिन आप बिल्कुल सही हैं।
गलतफहमी का बहाना।
नहीं, आप समझ नहीं पाए या आपने ध्यान नहीं दिया ... मेरा मतलब है कि "मॉड्यूल इंपोर्ट से *» का उपयोग कर रहा है, मेरा मतलब है कि «एस्टेरिस्क» ... उस StackOverflow पोस्ट में वे कुछ और के बारे में बात कर रहे हैं, " लेकिन वे अभी भी इस पर जोर देते हैं:
"कोई भी विधि स्वीकार्य है, लेकिन मॉड्यूल आयात से उपयोग न करें*।"
क्या यह अब समझ में आया है?
जर्मन सही है. यदि आप उस आयात मॉड्यूल के लिए तारांकन के साथ सभी सामग्री आयात करते हैं, तो मॉड्यूल आयात का क्या उपयोग है। वही अच्छी पोस्ट है.
आह ठीक है, अब मैं समझता हूं ... वैसे भी, मुझे बहुत लंबा समय नहीं है, मैं पायथन में भी शुरुआत कर रहा हूं। यदि आप मेरे ब्लॉग पर जाते हैं, तो आप देखेंगे कि मैंने आपकी तरह ही पोस्ट बनाया है, लेकिन Gtk + 3 के साथ PyGObject का उपयोग करके।
बधाई और धन्यवाद!
यहां मैं Pep8 को स्पैनिश में im के उपयोग की अनुशंसा करते हुए छोड़ता हूं
किसी पैकेज से कोड आयात करने के लिए सापेक्ष आयात का उपयोग करना बहुत ही असावधान है। सभी आयातों के लिए हमेशा पूर्ण पैकेज पथ का उपयोग करें। यहां तक कि अब जबकि PEP 328 [7] पूरी तरह से पायथन 2.5 में लागू किया गया है, रिश्तेदार आयातों का उपयोग करके गंभीरता से हतोत्साहित किया जाता है; पूर्ण आयात अधिक पोर्टेबल हैं और आमतौर पर अधिक पठनीय हैं।
जब आप किसी मॉड्यूल से कक्षा आयात करते हैं, तो ऐसा करना आमतौर पर ठीक होता है
Myclass से MyClass आयात करें
foo.bar.yourclass से YourClass आयात करें
सादर
इसे पढ़ें: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided
एलेक्स मार्टेली (कोर पीवाई डेवलपर) कुछ इस तरह की सिफारिश करता है:
from PyQt4 import QtCore, QtGui
मैं और चाह रहा था, जब दूसरा भाग?
अभिवादन 🙂
बहुत अच्छे ट्यूटोरियल, साथ ही प्रोग्राम करना अधिक आरामदायक हो सकता है।
यहां स्क्रैच से इंटरफ़ेस का एक उदाहरण दिया गया है (QtDesigner का उपयोग किए बिना)।
https://github.com/xr09/metrocontador
धन्टर ऐप बेहतरीन है, यहां हमें यह भी नहीं पता कि वे हमसे बिजली के लिए कितना चार्ज करते हैं, हाहा नमस्ते।
धन्यवाद, यह उन ऐप्स में से एक है जो एक व्यक्तिगत उपयोग के लिए बनाता है और दूसरों की सेवा करता है। यहां क्यूबा में रसीद दर के साथ टूट गई है, एल्गोरिथ्म की नकल करना आसान है।
मैं इस पाठ्यक्रम से बहुत अवगत होऊंगा। मुझे लंबे समय से क्रॉस-प्लेटफ़ॉर्म अनुप्रयोगों में दिलचस्पी है और मुझे लगता है कि पायथन + क्यूटी / पीसाइड संयोजन एक बढ़िया विकल्प है। बधाई और पहल के लिए बधाई
मैंने बिल्कुल वैसे ही सभी चरणों का पालन किया जैसा आप कहते हैं, लेकिन जब मैं टर्मिनल में app1.py चलाता हूं तो यह ट्रेसबैक (सबसे हालिया कॉल अंतिम) कहता है:
फ़ाइल "app1.py", पंक्ति 1, में
PySide.QtGui आयात * से
आयात त्रुटि: PySide.QtGui नाम का कोई मॉड्यूल नहीं। यह किस लिए है?
ऐसा इसलिए है क्योंकि आप डिफ़ॉल्ट दुभाषिया के रूप में पायथन के एक संस्करण का उपयोग कर रहे हैं, लेकिन आपके पास उस संस्करण के लिए पाइसाइड स्थापित नहीं है।
फ़ाइल की शुरुआत में जोड़ने का प्रयास करें:
#! usr / bin / python3
वरना
#! usr / bin / python2
मेरा सुझाव है कि आप पाइडेव के साथ एक्लिप्स का उपयोग करें और दुभाषिया को अच्छी तरह से कॉन्फ़िगर करें।
SLDs
#! / usr / बिन / python3
वरना
#! / usr / बिन / python2
PySide अभी तक Python3 के साथ संगत नहीं है, इससे सावधान रहें, और दूसरी बात, इंटरएक्टिव अजगर कंसोल के माध्यम से आयात की जांच करें, ताकि आप जान सकें कि आपने इसे स्थापित किया है या नहीं, यह पाइप भी स्थापित करता है।
मैं इसे कैसे सत्यापित करूं?
कंसोल में "पायथन" का उपयोग करें, वैसे भी मैं आपको लाइब्रेरी में प्रवेश करने की सलाह देता हूं जिसे मैंने पोस्ट में नीचे छोड़ दिया है और "सभी के लिए अजगर" डाउनलोड किया है, आपको अधिक आधार की आवश्यकता है।
शुभकामनाएँ और शुभकामनाएँ।
बहुत बहुत धन्यवाद, इससे मुझे बहुत मदद मिली।
देखो दोस्त F3niX मुझे यह मिला, ऐसा लगता है कि विंडोज़ पर अजगर 3.3.2 के लिए (जो कि मेरे पास अगले सप्ताह तक है) उनके पास 32 बिट्स और 64 बिट्स के लिए बायनेरिज़ हैं, मैंने आपके उदाहरण की कोशिश की और यह अजगर 3.3.2 के साथ काम करता है मैं अलग वातावरण स्थापित करने वाले PyScripter का उपयोग करता हूं, यदि आप अजगर 3 खोलते हैं तो यह स्क्रिप्ट 3 के रूप में चलाता है और यदि आप 2.7 खोलते हैं तो यह 2.7 के रूप में निष्पादित होता है और इसी तरह (तार्किक रूप से आपको अजगर के उस संस्करण को स्थापित करना होगा ... यह समझा जाता है)
http://qt-project.org/wiki/PySide_Binaries_Windows
मैं तुम्हें वहीं छोड़ दूँगा, इसके बारे में गपशप करो, शायद इससे किसी और को मदद मिलेगी 😀
मुझे समान त्रुटि मिली।
क्या आपके पास PySide स्थापित है?
मैंने इसे स्थापित किया है।
और PyQT4 के साथ इसे स्थापित करने का प्रयास करें और फिर PyQT4 या PyQt4 के लिए PySide लाइनों को बदलें, और इसे निष्पादित करने के लिए दें। जोजो ग्रहण का उपयोग करें। भाग्य।
मैं उसको कैसे करू?।
आपका बहुत-बहुत धन्यवाद !!! दूसरे अध्याय की प्रतीक्षा है
इस शुक्रवार के लिए शायद मैं इसे प्रकाशित करूंगा (विश्वविद्यालय ने मुझे थोड़ा सा शुभकामना दी है)।
मित्र F3nIX मैं आपके ट्यूटोरियल नंबर 2, 3, 4 का इंतजार कर रहा हूं...एन हेहेहे
मेरे पास पहले से ही पायसाइड वेटिंग और सब कुछ के साथ मेरा बहुत ही सुंदर लिनक्स स्थापित है!!!
आइए देखें कि उसे नया ट्यूटोरियल दिखाने के लिए कब प्रोत्साहित किया जाता है 😀
क्षमा करें दोस्त, मेरे पास यह ड्राफ्ट में है लेकिन काम और पढ़ाई के कारण मुझे समय नहीं मिल पाता है, मैं वादा करता हूं कि इस सप्ताह कुछ निकालूंगा।
एक बड़ा अभिवादन
नमस्कार, मैं लंबे समय से पायथन सीखने में रुचि रखता हूं लेकिन मुझे कुछ संदेह है। मैं जो चाहता हूं, वह पारिवारिक व्यवसाय की थोड़ी जानकारी की प्रक्रिया को बेहतर बनाने के लिए एक आवेदन करना है जहां मैं काम करता हूं, मैं खिड़कियों के लिए कुछ करना चाहता हूं, सबसे पहले, यह एक पीसी पर सभी काम करेगा और फिर यह हो सकता है डेटाबेस के लिए इंटरनेट के माध्यम से जुड़ा है, जिसमें कंप्यूटर के एक जोड़े को कनेक्ट करेगा। GUIing एप्लिकेशन के संदर्भ में बहुत विविधता है और इससे मुझे चक्कर आता है। आप इसे आधुनिक और आकर्षक रूप देने के लिए क्या सलाह देते हैं? मैं कुछ सांख्यिकीय ग्राफिक्स और प्रिंट रिपोर्ट भी करूंगा, उसके लिए मैं क्या उपयोग कर सकता हूं? चियर्स
नमस्कार, आपकी पोस्ट बहुत अच्छी है। मेरा एक प्रश्न है। क्या मैं पाइसाइड से बना अपना ऐप बिना किसी समस्या के बेच सकता हूँ?
वैसे, लाइसेंस हमेशा पागल होते हैं, लेकिन मुफ्त सॉफ्टवेयर लाइसेंस आपको सॉफ्टवेयर बेचने की भी अनुमति देता है, ऐसा क्या होता है कि जीपीएल आपको एलजीपीएल के विपरीत कोड वितरित करने के लिए मजबूर करता है, जो आपको ऐसा करने के लिए मजबूर नहीं करता है।
किसी भी मामले में, मैं इस लाइसेंसिंग मामले में विशेषज्ञ नहीं हूं।
नमस्ते.