TypeError缺少位置参数?怎么回事?Python和Tkin

2024-10-01 02:36:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个简单的tkinter程序,将reddit信息返回给用户。执行此操作时,我收到错误消息:

Traceback (most recent call last):
  File "redditscraper4.py", line 111, in <module>
    app = RedditScraper()
  File "redditscraper4.py", line 23, in __init__
    frame = F(container, self)
  File "redditscraper4.py", line 93, in __init__
    get_user_entry_string = get_user_entry.addBrackets()
  File "redditscraper4.py", line 62, in addBrackets
    user_entry = StartPage()
TypeError: __init__() missing 2 required positional arguments: 'parent' and 'controller'

我完全不知道我在代码上做了什么错事。我迷路了,网络上似乎没有一个连贯的答案来解决这个问题。在

这是我的代码:

^{pr2}$

感谢任何帮助! 谢谢!在


Tags: 代码inpy程序信息getinittkinter
2条回答

您已经定义了StartPage__init__方法来获取两个必需的参数,parent和{}。但是在导致错误的行中,您只是调用了StartPage(),而没有传递这些参数。正如错误所说,你需要通过他们。在

在您的bracketEntry类中,在addBrackets方法中,调用user_entry = StartPage()。但是,您将StartPage__init__方法声明为def __init__(self, parent, controller):,这意味着您必须提供parent和{}参数。在


编辑:要修复该方法,必须将parent和{}对象一直传递到调用堆栈中,或者找到另一种方法将它们放入addBrackets方法。E、 g.你可以重新定义def addBrackets(self, parent, controller),然后更新侵权行:user_entry = StartPage(parent, controller)。然后,您必须更新对addBracket的所有调用以包含新参数。在

相关问题 更多 >