Alternativa E - tk.Button(raiz, text='exemplo', height=1, width=35, command=raiz.destroy)
A questão aborda a criação de interfaces gráficas utilizando a biblioteca Tkinter em Python. Para resolver, precisamos analisar como os objetos são instanciados e referenciados no código fornecido.
Análise do Código:
O código inicia com a instrução de importação:
import tkinter as tk
Isso cria um alias para o módulo. Portanto, todas as classes e funções devem ser acessadas usando o prefixo tk..
A janela principal é criada e nomeada:
raiz = tk.Tk()
A variável raiz armazena o objeto da janela. Qualquer widget (como botões) precisa ter esse objeto como seu pai (primeiro argumento) para ser exibido corretamente.
Análise das Alternativas
Vamos verificar por que as outras opções estão incorretas:
- Alternativa A: Usa a variável
janela. No entanto, essa variável não foi definida no código anterior; apenas raiz existe. Isso causaria erro de definição. - Alternativa B: Utiliza
tk.CheckButton. Este widget cria uma caixa de seleção (checkbox), e não um botão de clique padrão. Além disso, o contexto sugere a criação de um "botão". - Alternativa C: Utiliza
ttk.Button. Embora seja uma classe válida, ela pertence ao submódulo tkinter.ttk. O código original não fez a importação desse submódulo específico, então o interpretador não reconheceria ttk. - Alternativa D: Chama
Button diretamente sem o prefixo tk.. Como o módulo foi importado como tk, acessar Button isoladamente resultaria em erro. - Alternativa E: É a correta porque:
- Usa o prefixo correto do módulo importado (
tk.Button). - Passa a variável correta da janela como pai (
raiz). - Define propriedades válidas como texto e comando de fechamento (
destroy).
Conclusão:
A única opção que respeita a sintaxe de importação (tk.) e utiliza as variáveis definidas no escopo (raiz) é a Alternativa E.