วิджชั่น Entry ใช้รับสตริงข้อความบรรทัดเดียวจากผู้ใช้
Text widget – แสดงข้อความหลายบรรทัดที่แก้ไขได้
Label widget – แสดงข้อความหนึ่งหรือหลายบรรทัดที่ผู้ใช้ไม่สามารถแก้ไขได้
นำเข้า tkinter, csv และสร้างหน้าต่างหลัก ชื่อหน้าต่างเอาต์พุตว่า "Data Entry" (ชื่อใดก็ได้สำหรับหน้าต่างเอาต์พุต) และสร้างสามฟังก์ชันตามเอาต์พุตที่ต้องการ ที่นี่ ฟังก์ชัน add, save และ clear ถูกสร้างขึ้นเพื่อทำให้ปุ่มทำงานได้อย่างสมบูรณ์
หลังจากให้อินพุตในหน้าต่าง คลิกปุ่ม add ฟังก์ชัน add จะแสดงกล่องข้อความ "Data successfully added" เช่นเดียวกัน เมื่อคลิกปุ่ม Save ฟังก์ชัน save จะแสดง messagebox "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 successfully")
def Clear():
name.delete(0, END)
age.delete(0, END)
contact.delete(0, END)
# 3 labels, 4 buttons, 3 entry fields
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