import tkinter as tk
from tkinter import messagebox
# Perguntas do teste
perguntas = [
"Gosto de ser o centro das atenções.",
"Acho que mereço um tratamento especial.",
"Tenho facilidade em fazer as pessoas me admirarem.",
"Acho que poucas pessoas são realmente à minha altura.",
"Fico irritado(a) quando não reconhecem o meu valor.",
"Costumo pensar que sei mais do que a maioria das pessoas.",
"Gosto quando as pessoas me elogiam.",
"Às vezes uso os outros para conseguir o que quero.",
"Tenho dificuldade em aceitar críticas.",
"Quero ser uma pessoa admirada e influente."
]
class TesteNarcisismoApp:
def __init__(self, root):
self.root = root
self.root.title("Teste de Traços Narcisistas")
self.root.geometry("600x400")
self.root.config(bg="#f2f2f2")
self.indice = 0
self.respostas = []
self.label_pergunta = tk.Label(
root,
text="",
font=("Arial", 14),
wraplength=500,
bg="#f2f2f2",
justify="center"
)
self.label_pergunta.pack(pady=40)
self.frame_botoes = tk.Frame(root, bg="#f2f2f2")
self.frame_botoes.pack()
self.botoes = []
for i in range(1, 6):
botao = tk.Button(
self.frame_botoes,
text=str(i),
font=("Arial", 12),
width=5,
bg="#e0e0e0",
command=lambda v=i: self.responder(v)
)
botao.grid(row=0, column=i, padx=10)
self.botoes.append(botao)
self.label_instrucao = tk.Label(
root,
text="1 = Discordo totalmente | 5 = Concordo totalmente",
font=("Arial", 10),
bg="#f2f2f2"
)
self.label_instrucao.pack(pady=20)
self.mostrar_pergunta()
def mostrar_pergunta(self):
if self.indice < len(perguntas):
self.label_pergunta.config(
text=f"{self.indice + 1}. {perguntas[self.indice]}"
)
else:
self.calcular_resultado()
def responder(self, valor):
self.respostas.append(valor)
self.indice += 1
self.mostrar_pergunta()
def calcular_resultado(self):
pontuacao = sum(self.respostas)
media = pontuacao / len(perguntas)
if media < 2.5:
resultado = "Baixo nível de traços narcisistas — tendência empática e equilibrada."
elif 2.5 <= media < 3.5:
resultado = "Nível moderado — autoconfiança saudável, mas atenção a exageros."
else:
resultado = "Alto nível — possíveis traços narcisistas fortes. Reflita sobre empatia e relacionamentos."
messagebox.showinfo(
"Resultado",
f"Sua pontuação total: {pontuacao}\nMédia: {media:.2f}\n\n{resultado}"
)
self.root.destroy()
if __name__ == "__main__":
root = tk.Tk()
app = TesteNarcisismoApp(root)
root.mainloop()