【发布时间】:2017-08-10 11:24:51
【问题描述】:
所以我正在测试 Tkinter 程序的一些代码,并希望有一个主菜单,然后是游戏本身。
我想将主菜单放在__init__() 函数中,然后当按下按钮时,它会调用命令删除主菜单并加载新的小部件。为了测试,我只包含了 2 个按钮作为我的小部件,只是为了玩弄这个想法。但它出现了一个错误:
from tkinter import *
from tkinter import ttk
class Application:
def __init__(self, master):
But = ttk.Button(master, text = "Play", command = self.Play).pack()
def Play(self, master):
self.But.destroy()
ttk.Button(master, text = "Test Button").pack()
def main():
root = Tk()
Menu = Application(root)
root.resizable(width=False, height=False)
root.mainloop()
if __name__ == "__main__": main()
点击“播放”按钮时,出现此错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "D:\Python\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
TypeError: Play() missing 1 required positional argument: 'master'
我对使用类进行 tkinter 编程很陌生。任何帮助都会很棒。
【问题讨论】:
标签: python python-3.x tkinter tk