微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – ttk.Button返回None

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

AttributeError: ‘nonetype’ object has no attribute ‘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说有一个调用方法

解决方法

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

所以这样做吧……:

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

现在你可以打印按钮,当然结果会有很大不同! – )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐