Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何设置多个帧_Python_Tkinter_Frames - Fatal编程技术网

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