Entry উইজেট ব্যবহারকারীদের কাছ থেকে সিংগল-লাইন টেক্সট স্ট্রিং গ্রহণ করতে ব্যবহৃত হয়।
Text widget − একাধিক লাইন টেক্সট প্রদর্শন করে যা এডিট করা যায়।
Label widget − এক বা একাধিক লাইন টেক্সট প্রদর্শন করে যা ব্যবহারকারী দ্বারা মডিফাই করা যায় না।
tkinter, csv ইমপোর্ট করে এবং মেইন উইন্ডো তৈরি করুন। আউটপুট উইন্ডোর নাম দিন "Data Entry" (আউটপুট উইন্ডোর জন্য যেকোনো নাম) এবং আউটপুটের প্রয়োজন অনুযায়ী তিনটি ফাংশন তৈরি করুন। এখানে add, save এবং clear ফাংশন বিল্ট-ইন করে বাটনগুলোর কার্যকারিতা করা হয়েছে।
উইন্ডোতে ইনপুট দিয়ে Add বাটনে ক্লিক করলে, add ফাংশন "Data successfully added" মেসেজ বক্স দেখাবে। একইভাবে, Save বাটনে ক্লিক করলে save ফাংশন "Saved successfully" মেসেজবক্স দেখাবে। Clear ফাংশন দিয়ে ইনপুট ক্লিয়ার করলে পুরো আউটপুট স্ক্রিন ক্লিয়ার হয়ে যাবে।
উদাহরণ
# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন
from csv import *
from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("Data Entry")
window.geometry("700x350")
main_lst = []
def Add():
lst = [name.get(), age.get(), contact.get()]
main_lst.append(lst)
messagebox.showinfo("Information", "The data has been added successfully")
def Save():
with open("data_entry.csv", "w") as file:
Writer = writer(file)
Writer.writerow(["Name", "Age", "Contact"])
Writer.writerows(main_lst)
messagebox.showinfo("Information", "Saved succesfully")
def Clear():
name.delete(0, END)
age.delete(0, END)
contact.delete(0, END)
# ৩টি লেবেল, ৪টি বাটন, ৩টি এন্ট্রি ফিল্ড
label1 = Label(window, text="Name: ", padx=20, pady=10)
label2 = Label(window, text="Age: ", padx=20, pady=10)
label3 = Label(window, text="Contact: ", padx=20, pady=10)
name = Entry(window, width=30, borderwidth=3)
age = Entry(window, width=30, borderwidth=3)
contact = Entry(window, width=30, borderwidth=3)
save = Button(window, text="Save", padx=20, pady=10, command=Save)
add = Button(window, text="Add", padx=20, pady=10, command=Add)
clear = Button(window, text="Clear", padx=18, pady=10, command=Clear)
Exit = Button(window, text="Exit", padx=20, pady=10, command=window.quit)
label1.grid(row=0, column=0)
label2.grid(row=1, column=0)
label3.grid(row=2, column=0)
name.grid(row=0, column=1)
age.grid(row=1, column=1)
contact.grid(row=2, column=1)
save.grid(row=4, column=0, columnspan=2)
add.grid(row=3, column=0, columnspan=2)
clear.grid(row=5, column=0, columnspan=2)
Exit.grid(row=6, column=0, columnspan=2)
window.mainloop()
print(lst)
print(main_lst)
আউটপুট
উপরের কোড রান করলে নিচের আউটপুট উইন্ডো দেখাবে:

Entry ফিল্ডে ডেটা ইনসার্ট করুন এবং "Add" এবং "Save" ক্লিক করে ডেটা "data_entry.csv" ফাইলে সেভ করুন।

CSV ফাইলটি খোললে নিচের মতো দেখাবে:
Name, Age, Contact Arjun, 25, 8790654321 John, 20, 9876543210