【问题标题】:ttk.Button returns Nonettk.Button 返回无
【发布时间】:2011-01-03 07:45:45
【问题描述】:

我正在尝试使用 ttk.Button 的调用方法,如 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 是否意味着返回 None。而且,如果是这样,为什么 TkDocs 会说有一个 invoke 方法?

【问题讨论】:

标签: python tkinter ttk


【解决方案1】:

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

那就做对吧……:

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

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

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2016-09-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    相关资源
    最近更新 更多