【发布时间】:2021-05-12 15:44:51
【问题描述】:
代码:
import tkinter as tk
import random as rd
number = rd.randint(10,51)
trial = 0
chance = 0
window = tk.Tk()
window.title("Guess")
label = tk.Label(window, text="Guess a number that can be anything from '10' to '50', you have 5 chances !!!\n", font=("Arial Bold",20)).pack()
bt = tk.Button(window, text="Enter")
bt.grid(column=3, row=3)
window.geometry('2000x1000')
window.mainloop()
错误:_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
如果我尝试删除 'label' 中的 .pack(),文本不会加载,并且按钮仍然保持在 (0,0),而没有错误
【问题讨论】:
-
与错误无关,但是给
.pack()的结果设置变量通常是错误的。您应该将label设置为tk.Label对象,然后调用label.pack()。 -
添加到@Barmar 答案:如果您以后不打算使用小部件,您不妨只做
Label(master, **options).pack()而不分配变量而不是var = Label(master, **options).pack() -
这个错误的意思正是它所说的。 FWIW,“。”是根窗口的内部名称。
标签: python user-interface tkinter error-handling graphics