image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponible sólo:

580 vacantes

AS

Antonio Silva10/10/2025 00:27
Compartir
Microsoft Azure Cloud Native 2026Recomendado para tiMicrosoft 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()

    Compartir
    Recomendado para ti
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentarios (0)
    Recomendado para tiMicrosoft Azure Cloud Native 2026