gpt4 book ai didi

python - Tk 窗口返回 AttributeError : __len__

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:51 24 4
gpt4 key购买 nike

在这里,我开始创建一个带有文本字段的 TK 窗口,但是当我运行它时,我收到错误

Exception in Tkinter callback
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1470, in __call__
return self.func(*args)
File "School.py", line 31, in begin
emulatorI=emulator()
File "School.py", line 20, in __init__
code.pack(self.root)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1868, in pack_configure
+ self._options(cnf, kw))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1105, in _options
cnf = _cnfmerge(cnf)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 114, in _cnfmerge
for c in _flatten(cnfs):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1826, in __getattr__
return getattr(self.tk, attr)
AttributeError: __len__

来自模块内部。我究竟做错了什么?我对类(class)确实很陌生,所以我可能在类(class)设置中做错了一些事情。

我在 OS 10.9 上运行 python 2.7

class emulator:
def __init__(self):
self.root=Tk()
self.root.geometry("500x500")

self.root.title("Python")

code=Text(self.root)
code.pack(self.root)

self.root.mainloop()

emulatorI=emulator()

最佳答案

问题出在线路上

code.pack(self.root)

pack 函数通常不接受除关键字参数之外的任何参数,因此应该调用为

code.pack()

出现这个非常奇怪的错误的原因是 pack 可以采用位置参数,该参数应该是选项字典。当尝试将 Tk 实例视为字典时,由于缺少 __len__ 方法而失败。

关于python - Tk 窗口返回 AttributeError : __len__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20369125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com