Tkinter 类的使用 - object() 不接受参数?(警告:极度初学者)

0 投票
1 回答
537 浏览
提问于 2025-04-18 01:04

我从一本书《编程树莓派;Python入门》里直接拿了这段代码:

from tkinter import *

class App:

    def _init_(self,master):
        frame=Frame(master)
        frame.pack
        Label(frame, text='deg C').grid(row=0, column=0)
        button = Button(frame, text='Convert', command=self.convert)
        button.grid(row=1)

    def convert(self):
        print('Not implemented ')

root = Tk()
root.wm_title('Temp Conv')
app = App(root)
root.mainloop()

但是,当我运行它的时候,出现了一个错误,提示是

line 18, in <module>
    app = App(root)
TypeError: object() takes no parameters

如果有人能帮忙就太好了!

1 个回答

1

你需要在init前后各加两个下划线。

这是Python识别init函数的格式。因为你只在前后各加了一个下划线,所以它没有正确识别init,而是把它当成了一个用户自己创建的函数,叫做init。这就意味着程序认为没有指定init,所以没有参数。

撰写回答