Tkintter错误:无法在内部使用几何图形管理器网格.它已经有了由pack管理的奴隶


from tkinter import *
import random
import time
tk=Tk()
canvas=Canvas(tk,width=1000,height=1000)
canvas.pack()
i=0
x1=-50
y1=0
choice=None
canvas.create_text(500, 300, text="Choose one.", font='TNR 20 bold')
def car():
choice='car'
return choice

button1=Button(tk,text='car',width=10,command=car)
button1.grid(row=1,column=5)#I do not see anything wrong here
tk.mainloop()

如果你想知道为什么我有这么多未使用的变量,这只是我代码的一部分。

这就是当我运行代码时所说的:

Traceback(最近一次通话最后一次(:文件"(你不需要知道文件名(",第180行,在button1.grid(行=1,列=5(文件"C:\Users\((\AppData\Local\Programs\Python37-32\lib\tkinter\__init__.py",第2223行,在grid_configure中+自我_选项(cnf,kw(_tkinter.TclError:无法在内部使用几何图形管理器网格。它已经有由pack管理的从服务器

您不能从文档中混合pack()grid()

警告:切勿在同一主窗口中混合网格和包。Tkinter将愉快地度过你的余生,努力协商一个双方经理都满意的解决方案。与其等待,不如终止应用程序,然后重新查看代码。一个常见的错误是对一些小部件使用了错误的父级。

您正在调用canvas.pack(),但向相同的tk对象添加了一个button,在该对象上调用grid()函数。

最新更新