Tkinter GUI (ग्राफिकल यूज़र इंटरफेस) विकसित करने के लिए एक Python लाइब्रेरी है। हम UI (यूज़र इंटरफेस) का एक एप्लिकेशन बनाने के लिए tkinter लाइब्रेरी का उपयोग करते हैं, विंडोज और अन्य सभी ग्राफिकल यूज़र इंटरफेस बनाने के लिए।
यदि आप Python 3.x का उपयोग कर रहे हैं (जो अनुशंसित है), तो Tkinter Python के साथ एक मानक पैकेज के रूप में आएगा, इसलिए हमें इसका उपयोग करने के लिए कुछ भी इंस्टॉल करने की आवश्यकता नहीं है।
Tkinter में रजिस्ट्रेशन फॉर्म बनाने से पहले, आइए पहले Tkinter में एक सरल GUI एप्लिकेशन बनाएं।
सरल GUI एप्लिकेशन बनाना
सिर्फ Tkinter आयात करके और उसका शीर्षक सेट करके एक विंडो बनाने का प्रोग्राम नीचे है -
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()
उपरोक्त कोड की लाइनों को चलाने पर, आप आउटपुट देखेंगे जैसे -

आइए उपरोक्त कोड की लाइनों को समझते हैं -
सबसे पहले हम सभी आवश्यक मॉड्यूल आयात करते हैं, हमने tkinter लाइब्रेरी से ttk और * (सभी) आयात किया है।
हमारे एप्लिकेशन की मुख्य विंडो बनाने के लिए, हम Tk क्लास का उपयोग करते हैं।
window.title(), हमारे विंडो ऐप को शीर्षक देता है।
window.geometry(), विंडो का आकार सेट करता है और window.configure(), इसका बैकग्राउंड रंग सेट करता है।
ttk.Button() एक बटन बनाता है।
ttk.Button(window, text="Hello, Tkinter").grid() - window का मतलब Tk है इसलिए यह हमारे द्वारा बनाई गई विंडो में दिखाता है, text - विंडो में टेक्स्ट प्रदर्शित करेगा और grid इसे ग्रिड में बनाएगा।
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)। s भुगतान के बाद लोन की गणना करने के लिए, हम नीचे दिए गए प्रोग्राम में सूत्र का उपयोग करते हैं -
Ps = ((1+r)^s.Bo) - (((1 + r)^s - 1)/ r)*p
जहां -
Rate = ब्याज दर जैसे 7.5%
i = rate/100, दशमलव में वार्षिक दर
r = अवधि दर = i/12
Po = मूल राशि
Ps = s भुगतान के बाद बैलेंस
s = मासिक भुगतानों की संख्या
p = अवधि (मासिक) भुगतान
तो नीचे ब्याज दर कैलकुलेटर प्रोग्राम है, जो एक पॉप-अप विंडो दिखाएगा, जहां उपयोगकर्ता वांछित मान (लोन राशि, दर, किश्तों की संख्या) सेट कर सकते हैं और Python tkinter लाइब्रेरी की मदद से मासिक भुगतान राशि और शेष लोन प्राप्त कर सकते हैं।
from tkinter import *
fields = ('Annual Rate', 'Number of Payments', 'Loan Principle', 'Monthly Payment', 'Remaining Loan')
def monthly_payment(entries):
# अवधि दर:
r = (float(entries['Annual Rate'].get()) / 100) / 12
print("r", r)
# मूल लोन:
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):
# अवधि दर:
r = (float(entries['Annual Rate'].get()) / 100) / 12
print("r", r)
# मूल लोन:
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('', (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()
आउटपुट

उपरोक्त से हम देखते हैं कि उपयोगकर्ता लोन राशि, दर और भुगतानों की संख्या दर्ज करके अंतिम (शेष) बैलेंस और मासिक भुगतान ढूंढने में सक्षम है।