Mundo em Python

Principais títulos aristocráticos

from tkinter import *

hirarquia = {
"Imperador / Imperatriz": "Soberano de um império",
"Rei / Rainha": "Soberano de um reino",
"Príncipe / Princesa": "Pode ser herdeiro ou governante de um principado",
"Arquiduque / Arquiduquesa": "Usado sobretudo pela Casa de Habsburgo",
"Grão-Duque / Grã-Duquesa": "Chefe de um Grão-Ducado (ex.: Luxemburgo)",
"Duque / Duquesa": "Título nobre de alta categoria",
"Marquês / Marquesa": "Tradicionalmente ligado a zonas fronteiriças (“marcas”)",
"Conde / Condessa": "Soberano de um condado",
"Visconde / Viscondessa": "Subordinado ao conde",
"Barão / Baronesa": "Título nobre de menor prestígio entre os pares",
"Cavaleiro / Dama": "Título honorífico, não hereditário",
"Infante / Infanta": "Filhos de reis que não são herdeiros diretos",
"Fidalgo": "Nobre de baixa categoria, sobretudo na tradição ibérica"
} root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Principais títulos aristocráticos") # Título principal
titulo = Label(
text="Principais títulos aristocráticos",
font=("Arial", 28, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.12, rely=0.05) # Subtítulo
texto_sub1 = Label(
text="Escolha uma opção:",
font=("Arial", 18, "bold"),
bg="#103030",
fg="#49e3e3"
)
texto_sub1.place(relx=0.05, rely=0.32) # Dropdown
var = StringVar()
primeiro = list(hirarquia.keys())[0]
var.set(primeiro) dropdown = OptionMenu(root, var, *hirarquia.keys())
dropdown.place(relx=0.4, rely=0.33, relwidth=0.55)
dropdown.config(
background="#09A3BA", foreground="#FFFFFF", font=("Arial", 18, "bold")
)
dropdown["menu"].config(
background="#09A3BA", foreground="#FFFFFF", font=("Arial", 18, "bold")
) # Resultado
resultado_texto = Label(
text="",
font=("Arial", 14, "bold"),
bg="#cfe2f3",
wraplength=600, # quebra automática de linha
justify="left"
)
resultado_texto.place(relx=0.05, rely=0.7, relwidth=0.9, relheight=0.25) def atualizar(*args):
v = var.get()
resultado_texto.config(text=hirarquia[v]) def limpar():
resultado_texto.config(text="") var.trace("w", atualizar) but_limpar = Button(
text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar
)
but_limpar.place(relx=0.25, rely=0.5, relwidth=0.25, relheight=0.1) but_sair = Button(
text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy
)
but_sair.place(relx=0.55, rely=0.5, relwidth=0.25, relheight=0.1) atualizar() root.mainloop()
0