Simulador de Fila

from tkinter import *
from tkinter import messagebox
root = Tk()
root.geometry("400x500")
root.resizable(0, 0)
root.title("Simulador de Fila")
fila = []
def adicionar_na_fila():
nome = entrada_nome.get().strip()
if nome:
fila.append(nome)
atualizar_fila()
entrada_nome.delete(0, END)
else:
messagebox.showwarning("Aviso", "Digite um nome válido!")

def atender():
if fila:
atendido = fila.pop(0)
atualizar_fila()
messagebox.showinfo("Atendimento", f"{atendido} está sendo atendido!")
else:
messagebox.showwarning("Aviso", "Não há ninguém na fila para atender!")

def limpar_fila():
global fila
if messagebox.askyesno("Confirmação", "Deseja limpar a fila?"):
fila = []
atualizar_fila()

def atualizar_fila():
texto_fila.config(state=NORMAL)
texto_fila.delete(1.0, END)
if fila:
texto_fila.insert(END, "\n".join(f"{i+1}. {nome}" for i, nome in enumerate(fila)))
else:
texto_fila.insert(END, "Fila vazia")
texto_fila.config(state=DISABLED)

titulo = Label(root, text="Simulador de Fila", font=("Arial", 18, "bold"))
titulo.place(relx=0.15, rely=0.05)
Nome_pessoa = Label(root, text="Nome:", font=("Arial", 12))
Nome_pessoa.place(relx=0.05, rely=0.2, relwidth=0.2)
entrada_nome = Entry(root, font=("Arial", 12))
entrada_nome.place(relx=0.3, rely=0.2, relwidth=0.5)

btn_adicionar = Button(root, text="Adicionar", font=("Arial", 12), command=adicionar_na_fila)
btn_adicionar.place(relx=0.3, rely=0.3, relwidth=0.4)

texto_fila = Text(root, height=15, width=40, font=("Arial", 12), state=DISABLED)
texto_fila.place(relx=0.05, rely=0.4, relwidth=0.9)

btn_atender = Button(root, text="Atender", font=("Arial", 12), bg="green", fg="white", command=atender)
btn_atender.place(relx=0.1, rely=0.8, relwidth=0.35)

btn_limpar = Button(root, text="Limpar Fila", font=("Arial", 12), bg="red", fg="white", command=limpar_fila)
btn_limpar.place(relx=0.55, rely=0.8, relwidth=0.35)

btn_sair = Button(root, text="Sair", font=("Arial", 12), command=root.destroy)
btn_sair.place(relx=0.35, rely=0.9, relwidth=0.3)
root.mainloop()

Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação