Tkinter GUI (ग्राफिकल यूजर इंटरफेस) विकसित करने के लिए एक अजगर पुस्तकालय है। हम विंडोज़ और अन्य सभी ग्राफिकल यूजर इंटरफेस बनाने के लिए यूआई (यूजर इंटरफेस) का एक एप्लीकेशन बनाने के लिए टिंकर लाइब्रेरी का उपयोग करते हैं।
यदि आप अजगर 3.x (जो अनुशंसित है) का उपयोग कर रहे हैं, तो टिंकर एक मानक पैकेज के रूप में पायथन के साथ आएगा, इसलिए हमें इसका उपयोग करने के लिए कुछ भी स्थापित करने की आवश्यकता नहीं है।
टिंकर में पंजीकरण फॉर्म बनाने से पहले, आइए पहले टिंकर में एक साधारण जीयूआई एप्लीकेशन बनाएं।
एक साधारण GUI एप्लिकेशन बनाना
नीचे केवल टिंकर आयात करके एक विंडो बनाने और उसका शीर्षक सेट करने का कार्यक्रम है -
from tkinter import * from tkinter import ttk window = Tk() window.title("Welcome to TutorialsPoint") window.geometry('325x250') window.configure(background = "gray") ttk.Button(window, text="Hello, Tkinter").grid() window.mainloop()
कोड की उपरोक्त पंक्तियों को चलाने पर, आप आउटपुट कुछ इस तरह देखेंगे -
आइए कोड की उपरोक्त पंक्तियों को समझते हैं -
-
सबसे पहले हम अपनी जरूरत के सभी मॉड्यूल आयात करते हैं, हमने ttk और * (सभी) को tkinter लाइब्रेरी से आयात किया है।
-
हमारे एप्लिकेशन की मुख्य विंडो बनाने के लिए, हम Tk क्लास का उपयोग करते हैं।
-
window.title(), हमारे विंडो ऐप को शीर्षक दें।
-
window.geometry(), विंडो का आकार सेट करें और window.configure(), उसका बैकग्राउंड कलर सेट करें।
-
ttk.Button() एक बटन बनाता है।
-
ttk.Button(window, text="Hello, Tkinter").grid() - window का मतलब Tk है, इसलिए यह हमारे द्वारा बनाई गई विंडो में दिखता है, टेक्स्ट- विंडो में टेक्स्ट प्रदर्शित करेगा और ग्रिड इसे एक में बना देगा ग्रिड।
-
Window.mainloop (), यह फ़ंक्शन विंडो के अंतहीन लूप को कॉल करता है, इसलिए जब तक उपयोगकर्ता इसे बंद नहीं करता तब तक खुला रहेगा।
आइए कुछ लेबल जोड़कर अपने पिछले उदाहरण का विस्तार करने का प्रयास करें (लेबल एक साधारण विजेट है जो टेक्स्ट या छवि का एक टुकड़ा प्रदर्शित करता है) और बटन (बटन आमतौर पर सीधे उपयोगकर्ता क्रिया पर मैप किया जाता है जिसका अर्थ है बटन पर क्लिक करना, कुछ क्रिया होना चाहिए) कोड में।
from tkinter import * from tkinter import ttk window = Tk() window.title("Welcome to TutorialsPoint") window.geometry('400x400') window.configure(background = "grey"); a = Label(window ,text = "First Name").grid(row = 0,column = 0) b = Label(window ,text = "Last Name").grid(row = 1,column = 0) c = Label(window ,text = "Email Id").grid(row = 2,column = 0) d = Label(window ,text = "Contact Number").grid(row = 3,column = 0) a1 = Entry(window).grid(row = 0,column = 1) b1 = Entry(window).grid(row = 1,column = 1) c1 = Entry(window).grid(row = 2,column = 1) d1 = Entry(window).grid(row = 3,column = 1) def clicked(): res = "Welcome to " + txt.get() lbl.configure(text= res) btn = ttk.Button(window ,text="Submit").grid(row=4,column=0) window.mainloop()
उपरोक्त कोड को चलाने पर, हम आउटपुट स्क्रीन कुछ इस तरह देखेंगे -
आइए अब वास्तविक दुनिया से कुछ बनाएं, शायद एक ऋण ब्याज कैलकुलेटर। उसके लिए, हमें ज्ञात होने के लिए कुछ मदों (चर) की आवश्यकता होती है, जैसे कि मूलधन राशि, ऋण दर (r), s भुगतान के बाद शेष राशि (Bs)। भुगतान के बाद ऋण की गणना करने के लिए, हम नीचे दिए गए कार्यक्रम में सूत्र का उपयोग करते हैं -
Ps = ((1+r)^s.Bo) – (((1 + r)^s – 1)/ r)*p
कहाँ -
दर =ब्याज दर जैसे 7.5%
i =दर/100, दशमलव में वार्षिक दर
r =अवधि दर =i/12
पो =मूल राशि
पीएस =भुगतान के बाद शेष राशि
s =मासिक भुगतानों की संख्या
p =अवधि (मासिक) भुगतान
तो नीचे ब्याज दर कैलकुलेटर प्रोग्राम है, जो एक पॉप-अप विंडो दिखाएगा, जहां उपयोगकर्ता वांछित मूल्य (ऋण राशि, दर, किश्तों की संख्या) निर्धारित कर सकते हैं और मासिक भुगतान राशि और शेष ऋण प्राप्त करेंगे जिसे उन्हें भुगतान करने की आवश्यकता है पायथन टिंकर लाइब्रेरी की मदद।
from tkinter import * fields = ('Annual Rate', 'Number of Payments', 'Loan Principle', 'Monthly Payment', 'Remaining Loan') def monthly_payment(entries): # period rate: r = (float(entries['Annual Rate'].get()) / 100) / 12 print("r", r) # principal loan: loan = float(entries['Loan Principle'].get()) n = float(entries['Number of Payments'].get()) remaining_loan = float(entries['Remaining Loan'].get()) q = (1 + r)** n monthly = r * ( (q * loan - remaining_loan) / ( q - 1 )) monthly = ("%8.2f" % monthly).strip() entries['Monthly Payment'].delete(0,END) entries['Monthly Payment'].insert(0, monthly ) print("Monthly Payment: %f" % float(monthly)) def final_balance(entries): # period rate: r = (float(entries['Annual Rate'].get()) / 100) / 12 print("r", r) # principal loan: loan = float(entries['Loan Principle'].get()) n = float(entries['Number of Payments'].get()) q = (1 + r)** n monthly = float(entries['Monthly Payment'].get()) q = (1 + r)** n remaining = q * loan - ( (q - 1) / r) * monthly remaining = ("%8.2f" % remaining).strip() entries['Remaining Loan'].delete(0,END) entries['Remaining Loan'].insert(0, remaining ) print("Remaining Loan: %f" % float(remaining)) def makeform(root, fields): entries = {} for field in fields: row = Frame(root) lab = Label(row, width=22, text=field+": ", anchor='w') ent = Entry(row) ent.insert(0,"0") row.pack(side = TOP, fill = X, padx = 5 , pady = 5) lab.pack(side = LEFT) ent.pack(side = RIGHT, expand = YES, fill = X) entries[field] = ent return entries if __name__ == '__main__': root = Tk() ents = makeform(root, fields) root.bind('<Return>', (lambda event, e = ents: fetch(e))) b1 = Button(root, text = 'Final Balance', command=(lambda e = ents: final_balance(e))) b1.pack(side = LEFT, padx = 5, pady = 5) b2 = Button(root, text='Monthly Payment', command=(lambda e = ents: monthly_payment(e))) b2.pack(side = LEFT, padx = 5, pady = 5) b3 = Button(root, text = 'Quit', command = root.quit) b3.pack(side = LEFT, padx = 5, pady = 5) root.mainloop()
आउटपुट
ऊपर से हम देखते हैं कि उपयोगकर्ता ऋण राशि, दर और संख्या दर्ज करके अंतिम (शेष) शेष राशि और मासिक भुगतान प्राप्त करने में सक्षम है। भुगतानों की।