0% found this document useful (0 votes)
3 views

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
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

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
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