64 lines
1.8 KiB
Plaintext
64 lines
1.8 KiB
Plaintext
import tkinter
|
||
import tkinter as tk
|
||
from tkinter import Toplevel, messagebox
|
||
import customtkinter
|
||
import sqlite3
|
||
import matplotlib
|
||
import csv
|
||
|
||
Kategorija = {
|
||
"Pārdošana",
|
||
"Mārketings",
|
||
"Biroja izdevumi",
|
||
"Personāla algas",
|
||
"Transporta izdevumi",
|
||
"IT atbalsts"
|
||
}
|
||
|
||
def print_data(Kateg):
|
||
with open('test_data.csv', newline='', encoding='utf-8') as csvfile:
|
||
csvreader = csv.DictReader(csvfile)
|
||
found = False
|
||
|
||
data_window = Toplevel(root)
|
||
data_window.title(f"Данные для категории: {Kateg}")
|
||
|
||
header = f"{'Datums':<10} {'Kategorija':<20} {'Ieņēmumi':<10} {'Izdevumi':<10} {'Komentārs'}"
|
||
label = tk.Label(data_window, text=header)
|
||
label.pack()
|
||
|
||
for row in csvreader:
|
||
if row['Kategorija'] == Kateg:
|
||
found = True
|
||
row_data = f"{row['Datums']:<10} {row['Kategorija']:<20} {row['Ieņēmumi']:<10} {row['Izdevumi']:<10} {row['Komentārs']}"
|
||
label = tk.Label(data_window, text=row_data)
|
||
label.pack()
|
||
|
||
if not found:
|
||
messagebox.showinfo("Информация", "Нет данных для этой категории.")
|
||
|
||
def on_button_click():
|
||
Kateg = entry.get()
|
||
if Kateg in Kategorija:
|
||
print_data(Kateg)
|
||
else:
|
||
messagebox.showerror("Ошибка", "Кategorija nav atpazīta. Lūdzu, ievadiet derīgu kategoriju.")
|
||
|
||
# Основное окно
|
||
root = tk.Tk()
|
||
root.title("Категория")
|
||
root.geometry("300x150")
|
||
|
||
# Поле ввода
|
||
label = tk.Label(root, text="Ievadiet kategoriju:")
|
||
label.pack(pady=10)
|
||
|
||
entry = tk.Entry(root, width=30)
|
||
entry.pack(pady=5)
|
||
|
||
# Кнопка подтверждения
|
||
button = tk.Button(root, text="Parādīt datus", command=on_button_click)
|
||
button.pack(pady=20)
|
||
|
||
|
||
root.mainloop() |