Python 如何设置多个帧
这是一个简单的数学游戏,目前正在进行中。循环从Python 如何设置多个帧,python,tkinter,frames,Python,Tkinter,Frames,这是一个简单的数学游戏,目前正在进行中。循环从mainGame()开始,然后进入mainMenu()。我试图创建2帧mframe和gframe以.destroy()稍后销毁帧,基本上为下一个帧清除上一个接口(类似于更改页面) 错误: 标签(gframe,textvariable=self.question_var.pack()#gframe支架 游戏框架名称错误:未定义名称“gframe” 如上所述,pack()方法返回None。您需要做的是首先创建两个帧并将它们分配给变量,然后打包它们。这样,
mainGame()
开始,然后进入mainMenu()
。我试图创建2帧mframe
和gframe
以.destroy()
稍后销毁帧,基本上为下一个帧清除上一个接口(类似于更改页面)
错误:
标签(gframe,textvariable=self.question_var.pack()#gframe支架
游戏框架名称错误:未定义名称“gframe”
如上所述,
pack()
方法返回None
。您需要做的是首先创建两个帧并将它们分配给变量,然后打包它们。这样,变量仍然指向帧实例,而不是None
你应该改变
root = Tk()
mframe = Frame(root).pack()
gframe = Frame(root).pack()
frame.pack()
start = True
到
我看不出你在哪里创造了两个画面。此代码中只有一个帧创建,并且它是
Frame
。您实际上应该创建帧,如mframe=Frame(root..)
等。对不起,我以前从未使用过帧,您的意思是:mframe=Frame(root)gframe=Frame(root),因为出现了新错误:Frame.pack()name错误:名称“Frame”未定义您需要pack
您定义的内容。现在,没有frame
,有mframe
和gframe
。啊,所以我做了mframe=frame(root)。pack()gframe=frame(root)。pack()
并在frame.pack()中删除了框架
但是现在:AttributeError:“NoneType”对象没有属性“destroy”
似乎是一个问题,因为它以前不在原始代码中。现在您的mframe/gframe是None
s,因为pack()
返回None
。谢谢您的回答!现在很好,再次感谢:)不客气。考虑是否接受/支持答案,如果它对你有用的话。
root = Tk()
mframe = Frame(root).pack()
gframe = Frame(root).pack()
frame.pack()
start = True
root = Tk()
mframe = Frame(root)
gframe = Frame(root)
mframe.pack()
gframe.pack()
start = True