【问题标题】:Tkinter class call issueTkinter 课程调用问题
【发布时间】:2012-06-29 19:05:33
【问题描述】:

我试图在我的 Tkinter gui 中添加一个进度条,但我被一个我不确定如何定义的问题所困扰。我的程序就是这样设置的。

class MAIN(object):
    def __init__(self, *args, **kwargs)
        tkinter stuff...

root = tk.Tk()
app = MAIN(root)
app.mainloop()

然后我尝试使用this 示例添加进度(该示例可自行运行)。而这段代码就是这样设置的。

class MAIN(tk.Tk):
    def __init__(self, *args, **kwargs)
        tk.Tk.__init(self, *args, **kwargs)
        tkinter stuff....

app = MAIN()
app.mainloop()

如果我将这些程序中的任何一个更改为其他程序的格式,它们都会引发错误。理想情况下,我希望能够保持我的格式(第一个格式)并能够以我的格式运行示例,这样我就不必更新很多遗留代码。

帮助/解释将不胜感激。

编辑:这是错误。

TypeError: unbound method __init__() must be called with Tk instance as first argument (got SampleApp instance instead)

【问题讨论】:

  • 嗯...什么错误?我什至不知道出了什么问题。您没有为任何人提供足够的信息来回答这个问题。我确实看到您可能会在第二个的第 3 行收到AttributeError
  • @TylerCrompton 抱歉,错误已添加到帖子中。
  • @deadstump 在回答而不是编辑中回答自己的问题是一种很好的礼仪。写一个答案,过了一段时间后,接受它,这样就清楚这个问题已经解决了。
  • @Wilduck 好的,完成。感谢您的提示。

标签: python tkinter python-2.7


【解决方案1】:

我的问题是我不了解类中的继承,并且在尝试使用进度条之前我的程序不需要对tk.Tk.__init__ 进行任何修改。因此,该问题的解决方案是将class MAIN(object): 替换为class MAIN(tk.Tk):,如工作示例中所示。我的进度条仍然无法正常工作,现在还有另一个窗口,但程序运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 2016-01-27
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多