0% found this document useful (0 votes)
9 views2 pages

Form Entry Csv TreeView

This document contains a Python script that creates a Tkinter GUI for data entry into a CSV file. Users can input ID, name, address, and phone number, which are then saved to 'data.csv' and displayed in a Treeview widget. The application also reads existing data from the CSV file to populate the Treeview upon startup.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views2 pages

Form Entry Csv TreeView

This document contains a Python script that creates a Tkinter GUI for data entry into a CSV file. Users can input ID, name, address, and phone number, which are then saved to 'data.csv' and displayed in a Treeview widget. The application also reads existing data from the CSV file to populate the Treeview upon startup.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

import tkinter as tk

from tkinter import *


from tkinter import ttk
import csv

# Create the main Tkinter window


root = tk.Tk()
root.title("Form Data Entry")
root.geometry("800x400")

# Function to add data to CSV file and Treeview


def add_data():
vid = id_entry.get()
vnama = nama_entry.get()
valamat = alamat_entry.get()
vtelp = telp_entry.get()

# Add data to CSV file


with open('data.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow([vid, vnama, valamat, vtelp])

# Add data to Treeview


tree.insert('', 'end', values=(vid, vnama, valamat, vtelp))

# Clear entry fields after adding data


id_entry.delete(0, END)
nama_entry.delete(0, END)
alamat_entry.delete(0, END)
telp_entry.delete(0, END)

# Frame to hold entry widgets


entry_frame = tk.Frame(root)
entry_frame.pack(pady=20)

# Labels and Entry widgets for data entry


labels = ['Id', 'Nama', 'Alamat', 'Telp']
for i, label in enumerate(labels):
tk.Label(entry_frame, text=label, font=(None, 12)).grid(row=i, column=0,
padx=10)
id_entry = Entry(entry_frame, font=(None, 12))
id_entry.grid(row=0, column=1, padx=10)
nama_entry = Entry(entry_frame, font=(None, 12))
nama_entry.grid(row=1, column=1, padx=10)
alamat_entry = Entry(entry_frame, font=(None, 12))
alamat_entry.grid(row=2, column=1, padx=10)
telp_entry = Entry(entry_frame, font=(None, 12))
telp_entry.grid(row=3, column=1, padx=10)

# Button to add data


add_button = Button(root, text="Tambah", font=(None, 12), command=add_data)
add_button.pack()

# Create Treeview
tree_frame = tk.Frame(root)
tree_frame.pack(pady=20)

tree = ttk.Treeview(tree_frame, columns=("ID", "Nama", "Alamat", "Telp"),


show="headings", height=5)
tree.pack()

# Set column headings


tree.heading("ID", text="ID")
tree.heading("Nama", text="Nama")
tree.heading("Alamat", text="Alamat")
tree.heading("Telp", text="Telp")

# Read existing data from CSV and populate Treeview


with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
tree.insert('', 'end', values=row)

root.mainloop()

You might also like