ttk.Button返回无

问题描述

不,您完全错了:您的代码 显示ttk.Button返回None-它显示grid了按钮对象上的方法返回了None!您难道没有看到您正在调用返回.grid任何内容ttk.Button(按钮对象),并且是您分配给“按钮”的那个 调用的结果吗?

所以做对吧…:

button = ttk.Button(root, text="Test")
button.grid(row=0, column=0)

现在您可以print button,当然结果将大不相同!-)

解决方法

我正在尝试使用ttk.Button的invoke方法,如TkDocs所示(请参阅
“命令回调” ),但我一直收到此错误:

AttributeError:’NoneType’对象没有属性’invoke’

因此,我在Interactive Shell中尝试了此操作:

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

这表明ttk.Button返回None。

是ttk.Button旨在返回无。而且,如果是这样,为什么TkDocs会说有一个invoke方法?