ttk.Button retornos Nenhum
Pergunta
Eu estou tentando usar o método de invocação de um ttk.Button, como mostrado em TkDocs (veja "O Comando Callback" ), mas eu continuo recebendo este erro:
AttributeError: objeto 'NoneType' tem nenhum atributo 'invocar'
Então, eu tentei isso no Shell interativo:
ActivePython 3.1.1.2 (ActiveState Software Inc.) based on
Python 3.1.1 (r311:74480, Aug 17 2009, 12:30:13) [MSC v.1500 32 bit (Intel)] on
win32
>>> from tkinter import *
>>> import tkinter.ttk as ttk
>>> root = Tk()
>>> button = ttk.Button(root, text="Test").grid(row=0, column=0)
>>> print(button)
None
que mostra que ttk.Button retorna None.
é ttk.Button significava para retornar Nenhum. E, em caso afirmativo, por que TkDocs dizer que não há um método invoke?
Solução
Não, você está totalmente errado: seu código faz não mostram que ttk.Button
retornos None
- Isso mostra que o método grid
na None
botão objeto retorna! Você não vê que você está chamando .grid
sobre o que é que ttk.Button
retornos (o objeto de botão), e é o resultado de que grade chamada que você está atribuindo ao "botão" ?!
Assim fazê-lo direito em vez ...:
button = ttk.Button(root, text="Test")
button.grid(row=0, column=0)
Agora você pode print button
e, claro, os resultados serão muito diferentes -!)