Widget Entry dùng để chấp nhận chuỗi văn bản đơn dòng từ người dùng.
Widget Text – Hiển thị nhiều dòng văn bản có thể chỉnh sửa.
Widget Label – Hiển thị một hoặc nhiều dòng văn bản không thể sửa đổi bởi người dùng.
Nhập tkinter, csv và tạo cửa sổ chính. Đặt tên cửa sổ đầu ra "Data Entry" (bất kỳ tên nào) và tạo ba hàm dựa trên đầu ra bạn cần. Ở đây hàm add, save và clear được xây dựng để làm cho các nút hoạt động chức năng.
Sau khi cung cấp đầu vào trong cửa sổ, nhấn nút add. Hàm add sẽ hiển thị hộp thông báo "Data successfully added". Tương tự, nhấn nút Save, hàm save sẽ hiển thị messagebox "Saved successfully". Xóa đầu vào với hàm clear, nó sẽ xóa toàn bộ màn hình đầu ra.
Ví dụ
# Nhập thư viện cần thiết
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)
# 3 nhãn, 4 nút, 3 trường entry
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)
Kết quả
Nếu chạy mã trên, nó sẽ hiển thị cửa sổ đầu ra sau:

Nhập dữ liệu vào các trường Entry và nhấn "Add" và "Save" để lưu dữ liệu vào file "data_entry.csv".

Nếu mở file CSV, nó sẽ trông như sau:
Name, Age, Contact Arjun, 25, 8790654321 John, 20, 9876543210