from tkinter import *
list_pm = [
{"nome": "Édouard Philippe", "inicio": "15/05/2017", "fim": "03/07/2020",
"partido": "Os Republicanos (2017–2018); Independente (2018–2020)", "dias_no_cargo": 1146},
{"nome": "Jean Castex", "inicio": "03/07/2020", "fim": "16/05/2022",
"partido": "Independente (Direita)", "dias_no_cargo": 683},
{"nome": "Élisabeth Borne", "inicio": "16/05/2022", "fim": "08/01/2024",
"partido": "Renascimento – Territórios do Progresso", "dias_no_cargo": 603},
{"nome": "Gabriel Attal", "inicio": "09/01/2024", "fim": "05/09/2024",
"partido": "Renascimento – Territórios do Progresso", "dias_no_cargo": 241},
{"nome": "Michel Barnier", "inicio": "05/09/2024", "fim": "13/12/2024",
"partido": "Os Republicanos", "dias_no_cargo": 100},
{"nome": "François Bayrou", "inicio": "13/12/2024", "fim": "09/09/2025",
"partido": "Movimento Democrático", "dias_no_cargo": 271},
{"nome": "Sébastien Lecornu", "inicio": "09/09/2025", "fim": "06/10/2025",
"partido": "Renascimento – Territórios do Progresso", "dias_no_cargo": 28}
]
def mostrar(*args):
pm_escolhido = var.get()
for pm in list_pm:
if pm["nome"] == pm_escolhido:
resultado.config(text=f'Nome do Primeiro-Ministro: {pm["nome"]}\n'
f'Início do cargo: {pm["inicio"]}\n'
f'Fim do cargo: {pm["fim"]}\n'
f'Partido: {pm["partido"]}\n'
f'Dias no Cargo: {pm["dias_no_cargo"]}')
break
root = Tk()
root.geometry("1000x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Primeiros-Ministros de Emmanuel Macron")
titulo = Label(root, text="Primeiros-Ministros de Emmanuel Macron",
font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.15, rely=0.05)
texto_sub1 = Label(root, text="Escolha um Primeiro-Ministro:",
font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.32)
opcoes = [pm["nome"] for pm in list_pm]
var = StringVar(value=opcoes[0])
dropdown = OptionMenu(root, var, *opcoes)
dropdown.place(relx=0.48, rely=0.32, relwidth=0.5)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
resultado = Label(root, text="", font=("Arial", 20, "bold"), bg="#103030", fg="#ffffff", justify=LEFT)
resultado.place(relx=0.05, rely=0.55)
var.trace("w", mostrar)
root.mainloop()