"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu botão Tkinter executa seu comando imediatamente após a criação?

Por que meu botão Tkinter executa seu comando imediatamente após a criação?

Postado em 2025-03-23
Navegar:689

Why Does My Tkinter Button Execute Its Command Immediately Upon Creation?

Execução do comando Button Over Creation

No código fornecido, um widget de botão é criado com sua opção de comando definida como resultado de invocar uma função com um argumento, resultando em uma Execução imediata do comando. Para resolver esse problema, é crucial entender como o manuseio de eventos funciona no tknter. Quando o evento ocorre, o Tknter chama a função associada. No entanto, no código fornecido, a opção de comando contém o resultado de invocar o botão de função ('hey') em vez de uma referência à própria função. B = Button (Admin, Text = 'AS', Command = Result)

Consequentemente, o comando é executado imediatamente quando o botão é criado, imprimindo 'Hey' e 'Het' e, quando o botão é clicado, nada acontece, pois o comando já foi executado. Por exemplo:

b = botão (admin, text = 'como', command = button)

result = button('hey')
b = Button(admin, text='as', command=result)

b = botão (admin, text = 'como', command = lambda: botão ('hey'))

Isso cria uma função anônima que, quando chamada, chama o botão ('ei'), fornecendo a funcionalidade desejada.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3