我知道您不能在同一主机中混用tkinter的grid()和pack()方法。但是,我的理解是,即使这两个框架共享同一个父对象,在一个框架内使用pack并在另一个框架内使用网格也是有效的吗?这是我打包到主根目录上的框架的代码,为什么我收到有关混合包和网格的错误?抱歉,如果我只是盲目地错过了混合包和网格的规则。
Class Login(tk.Frame):
def __init__(self, master):
super().__init__(master)
self.config()
rightFrame = tk.Frame(self).pack(side='right') #Using PACK
leftFrame = tk.Frame(self).pack(side='left') #Using GRID
# RIGHT SIDE #
self.photo = tk.PhotoImage(file='temp.png')
label = tk.Label(rightFrame, image=self.photo)
label.pack(side='right')
# LEFT SIDE #
label = tk.Label(leftFrame, text="Grade Predictor")
label.config(font=("Courier 22 bold"))
label.grid(row=0, column=0)
self.usernameBox = tk.Entry(leftFrame)
self.usernameBox.grid(row=1, column=0)
self.pack(fill='both')
答案 0 :(得分:2)
您创建的左右框架如下:
rightFrame = tk.Frame(self).pack(side='right')
,当None
返回rightFrame
时,将pack()
分配给None
。
如果将它们创建为:
rightFrame = tk.Frame(self)
rightFrame.pack(side='right')
它工作正常。