from tkinter import *
import webbrowser
estadios = [
{"estadio": "Estadio Azteca", "cidade": "Cidade do México", "provincia": "Cidade do México", "pais": "México", "capacidade": 87523, "latitude": 19.3029, "longitude": -99.1505},
{"estadio": "Estadio BBVA", "cidade": "Guadalupe/Monterrey", "provincia": "Nuevo León", "pais": "México", "capacidade": 53500, "latitude": 25.6486, "longitude": -100.2890},
{"estadio": "Estadio Akron", "cidade": "Zapopan/Guadalajara", "provincia": "Jalisco", "pais": "México", "capacidade": 49813, "latitude": 20.6740, "longitude": -103.4620},
{"estadio": "BMO Field", "cidade": "Toronto", "provincia": "Ontário", "pais": "Canadá", "capacidade": 45736, "latitude": 43.6332, "longitude": -79.4186},
{"estadio": "BC Place", "cidade": "Vancouver", "provincia": "Colúmbia Britânica", "pais": "Canadá", "capacidade": 54500, "latitude": 49.2767, "longitude": -123.1119},
{"estadio": "MetLife Stadium", "cidade": "East Rutherford", "provincia": "Nova Jérsia", "pais": "Estados Unidos", "capacidade": 82500, "latitude": 40.8136, "longitude": -74.0745},
{"estadio": "AT&T Stadium", "cidade": "Arlington", "provincia": "Texas", "pais": "Estados Unidos", "capacidade": 80000, "latitude": 32.7473, "longitude": -97.0945},
{"estadio": "GEHA Field at Arrowhead", "cidade": "Kansas City", "provincia": "Missouri", "pais": "Estados Unidos", "capacidade": 76416, "latitude": 39.0490, "longitude": -94.4839},
{"estadio": "NRG Stadium", "cidade": "Houston", "provincia": "Texas", "pais": "Estados Unidos", "capacidade": 72220, "latitude": 29.6847, "longitude": -95.4107},
{"estadio": "Mercedes-Benz Stadium", "cidade": "Atlanta", "provincia": "Geórgia", "pais": "Estados Unidos", "capacidade": 71000, "latitude": 33.7554, "longitude": -84.4008},
{"estadio": "SoFi Stadium", "cidade": "Inglewood", "provincia": "Califórnia", "pais": "Estados Unidos", "capacidade": 70240, "latitude": 33.9535, "longitude": -118.3387},
{"estadio": "Lumen Field", "cidade": "Seattle", "provincia": "Washington", "pais": "Estados Unidos", "capacidade": 68740, "latitude": 47.5952, "longitude": -122.3316},
{"estadio": "Levi's Stadium", "cidade": "Santa Clara", "provincia": "Califórnia", "pais": "Estados Unidos", "capacidade": 68500, "latitude": 37.4030, "longitude": -121.9700},
{"estadio": "Lincoln Financial Field", "cidade": "Filadélfia", "provincia": "Pensilvânia", "pais": "Estados Unidos", "capacidade": 67594, "latitude": 39.9008, "longitude": -75.1675},
{"estadio": "Hard Rock Stadium", "cidade": "Miami Gardens", "provincia": "Flórida", "pais": "Estados Unidos", "capacidade": 64767, "latitude": 25.9580, "longitude": -80.2389},
{"estadio": "Gillette Stadium", "cidade": "Foxborough", "provincia": "Massachusetts", "pais": "Estados Unidos", "capacidade": 64628, "latitude": 42.0909, "longitude": -71.2643},
]
root = Tk()
root.title("Estádios do Mundial de 2026")
largura, altura = 700, 450
x = (root.winfo_screenwidth() - largura) // 2
y = (root.winfo_screenheight() - altura) // 2
root.geometry(f"{largura}x{altura}+{x}+{y}")
root.resizable(0, 0)
root.config(bg="#103030")
titulo = Label(root, text="Estádios do Mundial de 2026",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.15, rely=0.05)
texto_sub1 = Label(root, text="Escolha o estádio:",
font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.2)
nomes_estadios = [e["estadio"] for e in estadios]
var = StringVar(value=nomes_estadios[0])
dropdown = OptionMenu(root, var, *nomes_estadios)
dropdown.place(relx=0.45, rely=0.22, relwidth=0.5)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14, "bold"))
def mostrar_estadio():
nome = var.get()
for e in estadios:
if e["estadio"] == nome:
capacidade_fmt = format(e['capacidade'], ",").replace(",", ".")
texto = (
f"Estádio: {e['estadio']}\n"
f"Cidade: {e['cidade']} ({e['provincia']})\n"
f"País: {e['pais']}\n"
f"Capacidade: {capacidade_fmt} espectadores\n"
f"Coordenadas: Latitude {e['latitude']}, Longitude {e['longitude']}"
)
resultado_texto.config(text=texto, justify=LEFT, anchor="w")
break
def limpar():
resultado_texto.config(text="")
def abrir_mapa():
nome = var.get()
for e in estadios:
if e["estadio"] == nome:
url = f"https://www.google.com/maps?q={e['latitude']},{e['longitude']}"
webbrowser.open(url)
break
but_mostrar = Button(root, text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=mostrar_estadio)
but_mostrar.place(relx=0.1, rely=0.38, relwidth=0.25, relheight=0.1)
but_limpar = Button(root, text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.38, relwidth=0.25, relheight=0.1)
but_sair = Button(root, text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.38, relwidth=0.25, relheight=0.1)
but_mapa = Button(root, text="Ver no mapa", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=abrir_mapa)
but_mapa.place(relx=0.25, rely=0.5, relwidth=0.5, relheight=0.1)
resultado_texto = Label(root, text="", justify=LEFT, anchor="nw",
font=("Arial", 12, "bold"), bg="#cfe2f3", fg="#000000")
resultado_texto.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.3)
root.mainloop()