gpt4 book ai didi

python - 属性错误 : Menu instance has no attribute '__len__'

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:44 26 4
gpt4 key购买 nike

我不熟悉 python 的方法,我在这里看到了一些其他类似描述的问题,但无法解决这个问题。

错误:

Traceback (most recent call last):
File "C:/Users/UT/PycharmProjects/tkinter/python_PET/main.py", line 16, in <module>
m = menu_bar_class(root)
File "C:/Users/UT/PycharmProjects/tkinter/python_PET/main.py", line 14, in __init__
self.master.config(self.menu)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1326, in configure
return self._configure('configure', cnf, kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1312, in _configure
cnf = _cnfmerge(cnf)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 114, in _cnfmerge
for c in _flatten(cnfs):
AttributeError: Menu instance has no attribute '__len__'

程序:

from Tkinter import *
from tkFileDialog import *
import tkMessageBox
import ttk
root = Tk()

class menu_bar_class:

def __init__(self,master):
self.master = master
print("menu bar")

self.menu = Menu(self.master)
self.master.config(self.menu)

m = menu_bar_class(root)
root.mainloop()

最佳答案

您需要将菜单作为关键字参数传入:

self.master.config(menu=self.menu)

当你传入一个positional参数时(所以没有menu=部分),那么Tkinter期望收到一个带有配置的字典(所以{' menu': self.menu}) 或包含更多序列或字典的序列。因为 self.menu 两者都不是,所以您会看到错误。

关于python - 属性错误 : Menu instance has no attribute '__len__' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827580/

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