gpt4 book ai didi

python - add_cascade() 缺少 1 个必需的位置参数 : self (Python: Tkinter error)

转载 作者:行者123 更新时间:2023-11-30 22:00:12 26 4
gpt4 key购买 nike

我正在尝试学习如何使用 Python 制作带有菜单的基本 GUI。

我一直在关注 2014 年的教程 ( https://www.youtube.com/watch?v=PSm-tq5M-Dc ),但自教程发布以来似乎已经更新了一些内容。

虽然我已经找到了几个问题的解决方法,但仍有一些问题我无法弄清楚。

其中最大的问题是“TypeError:add_cascade()缺少1个必需的位置参数:'self'”错误。

我能找到的所有内容似乎都与我的代码具有相似的语法,但我似乎无法运行它。我认为这可能是 python 版本的差异(我正在运行 python 3.7),尽管我也可能只是在教程中遗漏了一些内容。

import tkinter

def doNothing():
print("DO SOMTHING USEFULL... please")

root=tkinter.Tk()
menu=tkinter.Menu(root)
root.config(menu=menu)

subMenu=tkinter.Menu(menu, tearoff=0)
tkinter.Menu.add_cascade(label="file", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_seperator()
subMenu.add_command(label="Exit", command=doNothing)

editMenu=tkinter.Menu(menu)
tkinter.Menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)

root.mainloop()

附注我知道我不必输入“tkinter”。到处都是,但我似乎无法让“from Tkinter import *”为我工作。

如何解决以下错误?

最佳答案

我相信你想做的是:

import tkinter

def doNothing():
print("DO SOMTHING USEFULL... please")
"TypeError: add_cascade() missing 1 required positional argument: 'self'" error.
root=tkinter.Tk()
menu=tkinter.Menu(root)
root.config(menu=menu)

subMenu=tkinter.Menu(menu, tearoff=0)
menu.add_cascade(label="file", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)

editMenu=tkinter.Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)

root.mainloop()

“TypeError:add_cascade()缺少 1 个必需的位置参数:'self'”错误。 意味着 add_cascade 应该在 tkinter.Menu 的实例上使用,而不是在类上使用它本身,所以您需要首先创建将成为 tkinter.Menu 实例的对象,您这样做了,但没有使用它来添加级联。

编辑:

我修复了“seperator”:D 不是正确的“separator”;)

关于python - add_cascade() 缺少 1 个必需的位置参数 : self (Python: Tkinter error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54384159/

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