पायथन के टिंकर मॉड्यूल के साथ जीयूआई एप्लिकेशन बनाने के बारे में जानने के लिए कैलेंडर बनाना एक शानदार तरीका है। आप समय से पहले घटनाओं का प्रबंधन और योजना बनाने के लिए इस एप्लिकेशन का उपयोग कर सकते हैं।
इसे और आगे बढ़ाते हुए, आप आगामी मीटिंग्स को ट्रैक करने और रिमाइंडर सेट करने के लिए ऐप का विस्तार कर सकते हैं। शेड्यूलिंग विरोधों से बचने के लिए आप अन्य उपयोगकर्ताओं के कैलेंडर के साथ सहयोग भी शुरू कर सकते हैं।
यह सब जीयूआई कैलेंडर ऐप के मूल ढांचे से शुरू होता है।
कैलेंडर, टिंकर और डेटटाइम मॉड्यूल
जीयूआई कैलेंडर बनाने के लिए, आप कैलेंडर, टिंकर और डेटटाइम मॉड्यूल का उपयोग करेंगे। कैलेंडर मॉड्यूल पायथन के साथ आता है और आपको दिनांक, माह और कैलेंडर से संबंधित कार्यों को निष्पादित करने में सक्षम बनाता है।
टिंकर आपको डेस्कटॉप एप्लिकेशन बनाने की अनुमति देता है. यह विभिन्न प्रकार के विजेट, सहायक लाइब्रेरी, कैनवास ऑब्जेक्ट और HTML/XML/PDF पार्सर प्रदान करता है। जीयूआई एप्लिकेशन बनाने के लिए आपको बस इतना करना है:
- पुस्तकालय आयात करें।
- एक विंडो बनाएँ।
- उस विंडो में विजेट्स जोड़ें।
- उपयोगकर्ता सहभागिता के आधार पर कार्य करने के लिए मुख्य ईवेंट लूप को कॉल करें।
अपने सिस्टम में टिंकर स्थापित करने के लिए, टर्मिनल खोलें और चलाएं:
पिप टिंकर स्थापित करें
डेटटाइम मॉड्यूल एक और मॉड्यूल है जो बिल्ट-इन है। यह कई कक्षाएं प्रदान करता है जो दिनांक, समय और समय अंतराल से निपट सकते हैं। इस मॉड्यूल के साथ, आप एक ईवेंट अनुसूचक बना सकते हैं, अलार्म घड़ी, दिनांक कैलकुलेटर और समय क्षेत्र एप्लिकेशन।
पायथन का उपयोग करके जीयूआई कैलेंडर कैसे बनाएं
आप इसमें Python का उपयोग करके GUI कैलेंडर का स्रोत कोड पा सकते हैं गिटहब रिपॉजिटरी.
टिंकर, कैलेंडर और डेटटाइम मॉड्यूल को आयात करके प्रारंभ करें। एक समारोह परिभाषित करें, प्रिंटकैलेंडर. उपयोग पाना() उपयोगकर्ता द्वारा चुने गए महीने और वर्ष को निकालने के लिए स्पिनबॉक्स (कोड में बाद में परिभाषित) पर विधि। निर्दिष्ट वर्ष और महीने का प्रतिनिधित्व करने वाला एक स्वरूपित पाठ कैलेंडर प्राप्त करने के लिए इन मानों को कैलेंडर मॉड्यूल में पास करें। यह पाठ सोमवार से शुरू होने वाले सप्ताहों में व्यवस्थित दिनों के साथ एक साधारण मोनोस्पेस ग्रिड का प्रतिनिधित्व करता है।
स्क्रीन से कोई भी मौजूदा डेटा साफ़ करें। 1.0 क्षेत्र की शुरुआत इंगित करता है, और अंत क्षेत्र के अंत को इंगित करता है। अंत में, पहले उत्पन्न कैलेंडर डालें और इसे स्क्रीन पर प्रदर्शित करें।
से tkinter आयात *
आयात पंचांग
से दिनांक समय आयात तारीख
डीईएफ़प्रिंटकैलेंडर():
महीना = इंट (महीना_बॉक्स.गेट ())
वर्ष = इंट (वर्ष_बॉक्स.गेट ())
output_calendar = Calendar.महीना (वर्ष, माह)
कैलेंडर_फ़ील्ड.डिलीट (1.0, 'अंत')
कैलेंडर_फ़ील्ड.सम्मिलित करें ('अंत', आउटपुट_कैलेंडर)
एक समारोह परिभाषित करें, रीसेट. स्क्रीन पर सामग्री हटाएं और महीने और वर्ष को वर्तमान में सेट करें और उपयोग करें विन्यास () इसे स्क्रीन पर प्रदर्शित करने की विधि।
डीईएफ़रीसेट():
कैलेंडर_फ़ील्ड.डिलीट (1.0, 'अंत')
महीना_वार.सेट (वर्तमान_माह)
वर्ष_वार.सेट (वर्तमान_वर्ष)
महीना_बॉक्स.कॉन्फिग (टेक्स्टवेरिएबल = महीना_वार)
year_box.config (textvariable=year_var)
एक फ़ंक्शन को परिभाषित करें, विंडो डिस्प्ले को नष्ट करने के करीब, और प्रोग्राम से बाहर निकलें।
डीईएफ़बंद करना():
guiWindow.destroy ()
टिंकर उदाहरण को प्रारंभ करें और रूट विंडो प्रदर्शित करें। शीर्षक, आयामों को पिक्सेल में सेट करें, और पैरामीटर को 0 के रूप में रखते हुए इसका आकार बदलने को अक्षम करें।
अगर __नाम__ == "__मुख्य__":
गुइविंडो = टीके ()
guiWindow.शीर्षक ("जीयूआई कैलेंडर")
guiWindow.geometry ('500x550')
guiWindow.resizable (0, 0)
शीर्षलेख शीर्षक, माह और वर्ष प्रविष्टि, प्रदर्शन और बटनों के लिए चार फ़्रेम परिभाषित करें। यह अन्य विजेट्स के प्लेसमेंट को निर्देशित करते हुए एक कंटेनर का कार्य करता है। यह लेआउट की व्यवस्था करता है और स्क्रीन पर आयताकार वर्गों का उपयोग करके इन विगेट्स के लिए पैडिंग प्रदान करता है।
का उपयोग करके गिविंडो में रखने से पहले फ्रेम को ब्लॉक में व्यवस्थित करें सामान बाँधना() तरीका। विजेट को उसके उपलब्ध स्थान में आकार बदलने और विस्तार करने के लिए सक्षम करने के लिए विस्तार का मान सही पर सेट करें। ठीक भरना विजेट को एक्स और वाई दिशा में पूरी विंडो पर कब्जा करने के लिए विस्तारित करने की अनुमति देने के लिए दोनों की विशेषता।
हेडर_फ्रेम = फ़्रेम (guiWindow)
entry_frame = फ़्रेम (guiWindow)
result_frame = फ़्रेम (guiWindow)
बटन_फ्रेम = फ़्रेम (guiWindow)
हेडर_फ्रेम.पैक (विस्तार =सत्य, भरना ="दोनों")
entry_frame.pack (विस्तार =सत्य, भरना ="दोनों")
परिणाम_फ्रेम.पैक (विस्तार =सत्य, भरना ="दोनों")
बटन_फ्रेम.पैक (विस्तार =सत्य, भरना ="दोनों")
शीर्षक, माह और वर्ष के लिए तीन लेबल निर्दिष्ट करें। वह मूल विंडो सेट करें जिसमें आप इसे रखना चाहते हैं, यह प्रदर्शित होने वाला पाठ, फ़ॉन्ट रंग के साथ फ़ॉन्ट शैली। लेबलों को उचित स्थिति में पैक करें और लगाएं। संबंद्ध करना इंटवार () साथ entry_frame पूर्णांक डेटा सेट करने और प्राप्त करने के लिए।
हेडर_लेबल = लेबल (हेडर_फ्रेम, टेक्स्ट ="पंचांग",
फॉन्ट=('एरियल', '45', 'निडर'), एफजी ="#A020F0")हेडर_लेबल.पैक (विस्तार =सत्य, भरना ="दोनों")
महीना_लेबल = लेबल (प्रविष्टि_फ्रेम, पाठ ="महीना:",
फॉन्ट=("एरियल", "20", "निडर"), एफजी ="#000000")वर्ष_लेबल = लेबल (प्रविष्टि_फ्रेम, पाठ ="वर्ष:",
फॉन्ट=("एरियल", "20", "निडर"), एफजी ="#000000")
महीना_लेबल.प्लेस (एक्स =30, वाई =0)
साल_लेबल.प्लेस (एक्स =275, वाई =0)
महीना_वार = इंटवार (प्रविष्टि_फ्रेम)
वर्ष_वर = इंट्रो (प्रविष्टि_फ्रेम)
वर्तमान माह, वर्ष प्राप्त करें और इसे IntVar() चर पर सेट करें। उपयोगकर्ता को मूल्यों की एक श्रृंखला निर्दिष्ट करने के लिए स्पिनबॉक्स विजेट का उपयोग करें। स्पिनबॉक्स में शामिल मानों की श्रेणी, चौड़ाई, वर्तमान मान जो इसे धारण करना चाहिए, और फ़ॉन्ट शैली सेट करें। बक्सों को उचित स्थान पर रखें।
वर्तमान_माह = दिनांक। आज ()। महीना
वर्तमान_वर्ष = दिनांक। आज ()। वर्ष
महीना_वार.सेट (वर्तमान_माह)
वर्ष_वार.सेट (वर्तमान_वर्ष)महीना_बॉक्स = स्पिनबॉक्स (एंट्री_फ्रेम, से_ =1, को =12, चौड़ाई ="10",
पाठ चर = माह_वार, फ़ॉन्ट = ('एरियल','15'))वर्ष_बॉक्स = स्पिनबॉक्स (प्रविष्टि_फ्रेम, से_ =0000, को =3000, चौड़ाई ="10",
पाठ चर = वर्ष_वर, फ़ॉन्ट = ('एरियल','15'))
महीना_बॉक्स.प्लेस (एक्स =130, वाई =5)
साल_बॉक्स.प्लेस (एक्स =360, वाई =5)
एक टेक्स्ट फ़ील्ड घोषित करें और इसकी मूल विंडो, चौड़ाई, ऊँचाई, फ़ॉन्ट शैली, 3D एनीमेशन शैली और सीमा चौड़ाई सेट करें। पाठ विजेट व्यवस्थित करें और विंडो को प्रदर्शित करने, रीसेट करने और बंद करने के लिए तीन बटन घोषित करें। बटन में एक अतिरिक्त पृष्ठभूमि-रंग गुण और कमांड गुण होते हैं।
कमांड प्रॉपर्टी का उपयोग करके, आप उस फ़ंक्शन को सेट कर सकते हैं जिसे एक बार क्लिक करने पर इसे निष्पादित करना चाहिए। उनमें से प्रत्येक के बीच पर्याप्त जगह के साथ बटनों को एक पंक्ति में रखें।
कैलेंडर_फ़ील्ड = पाठ (परिणाम_फ़्रेम, चौड़ाई =20, ऊंचाई =8,
फॉन्ट=("संदेशवाहक", "18"), राहत = रिज, सीमा चौड़ाई =2)कैलेंडर_फ़ील्ड.पैक ()
डिस्प्ले_बटन = बटन (बटन_फ्रेम, टेक्स्ट ="दिखाना", बीजी ="#A020F0",
एफजी ="#E0FFFF"कमांड = प्रिंट कैलेंडर, फ़ॉन्ट = ('एरियल', '15'))रीसेट_बटन = बटन (बटन_फ्रेम, टेक्स्ट ="रीसेट", बीजी ="#A020F0",
एफजी ="#E0FFFF"कमांड = रीसेट, फ़ॉन्ट = ('एरियल','15'))क्लोज_बटन = बटन (बटन_फ्रेम, टेक्स्ट ="बंद करना", बीजी ="#A020F0",
एफजी ="#E0FFFF"कमांड = बंद करें, फ़ॉन्ट = ('एरियल','15'))
डिस्प्ले_बटन.प्लेस (एक्स =55, वाई =0)
रीसेट_बटन.प्लेस (एक्स =210, वाई =0)
Close_button.place (एक्स =350, वाई =0)
मुख्य घेरा() फ़ंक्शन पायथन को टिंकर इवेंट लूप चलाने के लिए कहता है और जब तक आप विंडो बंद नहीं करते तब तक ईवेंट (जैसे बटन प्रेस) सुनें।
guiWindow.mainloop ()
अपने जीयूआई कैलेंडर को क्रियाशील देखने के लिए सभी कोड एक साथ रखें।
जीयूआई कैलेंडर का नमूना आउटपुट
कार्यक्रम के ऊपर कार्यक्रम चलाने पर वर्तमान माह और दिनांक के साथ एक विंडो प्रदर्शित होती है। क्लिक करने पर रीसेट बटन वही स्क्रीन प्रदर्शित करता है।
माह को 3 और वर्ष को 2000 पर सेट करने पर, कार्यक्रम मार्च 2000 के लिए कैलेंडर प्रदर्शित करता है। क्लोज बटन दबाने पर, प्रोग्राम विंडो को नष्ट कर देता है और इसके निष्पादन को रोक देता है।
पायथन का उपयोग करते हुए कुछ शुरुआती जीयूआई परियोजनाओं को लें
जीयूआई अनुप्रयोगों का निर्माण इतना आसान कभी नहीं रहा। पायथन का टिंकर मॉड्यूल कई सहायक विजेट प्रदान करता है जिन्हें आप बहुत कम कोड के साथ पूरी तरह से अनुकूलित कर सकते हैं। इसके साथ ही, आपको अपनी इच्छा के अनुसार लेआउट मैनेजर्स जैसे पैक, ग्रिड और प्लेस टू पोजिशन एलिमेंट्स तक पहुंच मिलती है।
आरंभ करने के लिए आप टाइपिंग टेस्ट गेम, कलर पैलेट, मुद्रा परिवर्तक या कैलकुलेटर बना सकते हैं। ये एप्लिकेशन बनाने में मज़ेदार हैं और आपके ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कौशल को आसानी से विकसित करेंगे।