image

Accede a bootcamps ilimitados y a más de 650 cursos para siempre

60
%OFF

AS

Antonio Silva10/10/2025 00:27
Compartir

cadastro de membros com foto

    import tkinter as tk

    from tkinter import filedialog, messagebox

    from PIL import Image, ImageTk

    membros = []

    def selecionar_foto():

        caminho = filedialog.askopenfilename(filetypes=[("Imagens", "*.jpg *.png *.jpeg")])

        if caminho:

            imagem = Image.open(caminho)

            imagem.thumbnail((100, 100))

            foto = ImageTk.PhotoImage(imagem)

            foto_label.config(image=foto)

            foto_label.image = foto

            foto_label.caminho = caminho

    def cadastrar():

        nome = nome_entry.get()

        email = email_entry.get()

        foto = getattr(foto_label, 'caminho', None)

        if not nome or not email or not foto:

            messagebox.showwarning("Campos obrigatórios", "Preencha todos os campos e selecione uma foto.")

            return

        membros.append({"nome": nome, "email": email, "foto": foto})

        messagebox.showinfo("Sucesso", f"{nome} cadastrado com sucesso!")

        nome_entry.delete(0, tk.END)

        email_entry.delete(0, tk.END)

        foto_label.config(image='')

        foto_label.image = None

        foto_label.caminho = None

    # Interface

    root = tk.Tk()

    root.title("Cadastro de Membros")

    tk.Label(root, text="Nome:").grid(row=0, column=0, sticky="e")

    nome_entry = tk.Entry(root)

    nome_entry.grid(row=0, column=1)

    tk.Label(root, text="Email:").grid(row=1, column=0, sticky="e")

    email_entry = tk.Entry(root)

    email_entry.grid(row=1, column=1)

    tk.Button(root, text="Selecionar Foto", command=selecionar_foto).grid(row=2, column=0, columnspan=2)

    foto_label = tk.Label(root)

    foto_label.grid(row=3, column=0, columnspan=2)

    tk.Button(root, text="Cadastrar", command=cadastrar).grid(row=4, column=0, columnspan=2)

    root.mainloop()

    Compartir
    Recomendado para ti
    Luizalabs - Back-end com Python
    PcD Tech Bradesco - Java & QA Developer
    Nexa - Fundamentos de IA Generativa com Bedrock
    Comentarios (0)