3

我正在尝试使用 ttk.Button 的调用方法,如TkDocs所示(查看“命令回调”),但我不断收到此错误:

AttributeError:“NoneType”对象没有“调用”属性

所以,我在 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 返回无。

ttk.Button 是否意味着返回 None。而且,如果是这样,为什么 TkDocs 说有一个调用方法?

4

1 回答 1

14

不,你完全错了:你的代码没有显示ttk.Button返回None- 它显示grid按钮对象上的方法返回None!难道你没有看到你正在调用返回的.grid任何东西ttk.Button(按钮对象),这是你分配给“按钮”的网格调用的结果?!

所以做对了......:

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

现在你可以print button了,当然结果会很不一样!-)

于 2010-01-09T19:15:24.270 回答