Mundo em Python

Gestor de Cursos (usando Tkinter)

import json
from tkinter import *
from tkinter import messagebox root = Tk()
root.title("Gestor de Cursos")
root.config(padx=20, pady=50) def save():
utilizador = utilizador_input.get()
emprego = emprego_input.get()
curso = Curso_input.get() if utilizador and emprego and curso:
new_data = {utilizador: {
"Emprego": emprego,
"Curso": curso
}} try:
with open("data.json", "r") as file:
data = json.load(file)
except FileNotFoundError:
data = {} data.update(new_data) with open("data.json", "w") as file:
json.dump(data, file, indent=4) utilizador_input.delete(0, END)
emprego_input.delete(0, END)
Curso_input.delete(0, END)
messagebox.showinfo(title="Informação", message="Suas informações foram adicionadas com sucesso")
else:
messagebox.showinfo(title="Informação", message="Por favor, certifique-se de não deixar nenhum campo vazio") def encontrar_dados():
utilizador = utilizador_input.get()
try:
with open("data.json", "r") as file:
data = json.load(file)
except FileNotFoundError:
messagebox.showinfo(title="Informação", message="Utilizador não encontrado")
else:
if utilizador in data:
emprego = data[utilizador]['Emprego']
curso = data[utilizador]['Curso']
messagebox.showinfo(title="Informação", message=f"Emprego: {emprego}\n Curso: {curso}")
else:
messagebox.showinfo(title="Informação", message=f"Não existe detalhes do utilizador {utilizador}.") utilizador_label = Label(text="Email/utilizador:")
utilizador_label.grid(row=0, column=0)
utilizador_input = Entry(width=30)
utilizador_input.grid(row=0, column=1, columnspan=1)
utilizador_input.insert(0, "[email protected]")
utilizador_input.focus() utilizador_search = Button(text="Search", width=13, command=encontrar_dados)
utilizador_search.grid(row=0, column=2) emprego_label = Label(text="Emprego:")
emprego_label.grid(row=1, column=0) emprego_input = Entry(width=21)
emprego_input.grid(row=1, column=1) Curso_label = Label(text="Curso:")
Curso_label.grid(row=2, column=0) Curso_input = Entry(width=21)
Curso_input.grid(row=2, column=1) add_info_btn = Button(text="Add", width=36, command=save)
add_info_btn.grid(row=4, column=1, columnspan=2) root.mainloop()
0