import tkinter as tk
import sqlite3
from tkinter import messagebox
# Подключение к базе данных
con = sqlite3.connect("glucose.db")
cur = con.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS measurements (
id INTEGER PRIMARY KEY AUTOINCREMENT,
glucose REAL
)
""")
con.commit()
def add():
try:
value = float(entry.get().replace(",", "."))
if value <= 0:
messagebox.showerror("Ошибка", "Введите число больше нуля")
return
cur.execute(
"INSERT INTO measurements (glucose) VALUES (?)",
(value,)
)
con.commit()
entry.delete(0, tk.END)
show()
except ValueError:
messagebox.showerror("Ошибка", "Введите число")
def show():
listbox.delete(0, tk.END)
cur.execute("SELECT * FROM measurements")
rows = cur.fetchall()
for row in rows:
listbox.insert(tk.END, str(row[0]) + ". " + str(row[1]))
def delete():
selected = listbox.curselection()
if selected:
text = listbox.get(selected[0])
number = int(text.split(".")[0])
cur.execute(
"DELETE FROM measurements WHERE id = ?", (number,)
)
con.commit()
show()
else:
messagebox.showinfo("Информация", "Выберите запись")
# Создание окна
window = tk.Tk()
window.title("Дневник глюкозы")
window.geometry("350x400")
tk.Label(
window,
text="Уровень глюкозы (ммоль/л)"
).pack(pady=10)
entry = tk.Entry(window)
entry.pack()
tk.Button(
window,
text="Добавить измерение",
command=add
).pack(pady=10)
tk.Label(window, text="История измерений").pack()
listbox = tk.Listbox(window, width=30)
listbox.pack(pady=10)
tk.Button(
window,
text="Удалить запись",
command=delete
).pack()
show()
window.mainloop()
con.close()