image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponível apenas:

580 vagas

AS

Antonio Silva10/10/2025 00:27
Compartilhe
Microsoft Azure Cloud Native 2026Recomendados para vocêMicrosoft Azure Cloud Native 2026

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

    Compartilhe
    Recomendados para você
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentários (0)
    Recomendados para vocêMicrosoft Azure Cloud Native 2026