Python 子系统内的打包和网格';特金特的孩子们

Python 子系统内的打包和网格';特金特的孩子们,python,tkinter,Python,Tkinter,我知道你不能在同一个主机中混合使用tkinter的grid()和pack()方法。然而,我的理解是,在一个框架内使用pack和在另一个框架内使用grid是有效的,即使这两个框架共享一个共同的父框架?这是我在主根目录中打包的一个框架的代码,为什么我会收到关于混合打包和网格的错误?对不起,如果这只是我盲目地错过了混合包装和网格的规则 Class Login(tk.Frame): def __init__(self, master): super().__init__(mas

我知道你不能在同一个主机中混合使用tkinter的grid()和pack()方法。然而,我的理解是,在一个框架内使用pack和在另一个框架内使用grid是有效的,即使这两个框架共享一个共同的父框架?这是我在主根目录中打包的一个框架的代码,为什么我会收到关于混合打包和网格的错误?对不起,如果这只是我盲目地错过了混合包装和网格的规则

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')

您正在创建左侧和右侧框架,如下所示:

rightFrame = tk.Frame(self).pack(side='right')
None
分配给
rightFrame
作为
pack()
返回
None

如果将它们创建为:

rightFrame = tk.Frame(self)
rightFrame.pack(side='right')

它工作正常。

您正在创建左帧和右帧,如下所示:

rightFrame = tk.Frame(self).pack(side='right')
None
分配给
rightFrame
作为
pack()
返回
None

如果将它们创建为:

rightFrame = tk.Frame(self)
rightFrame.pack(side='right')

很好用。

非常感谢!没有意识到。对不起,@figbeam你知道为什么在上面的代码中,如果我在它的pack方法中给leftFrame一个fill='both',它似乎没有填充y轴吗?对我来说很有用。尝试为框架提供背景颜色,以查看其范围。已具有背景颜色。如果我将边设为左,它将填充y,但在两帧之间留有空间,如果我将边设为默认值,它将填充x,但不填充y?知道为什么吗?我不太清楚我是否完全理解了。不过,我可以向您指出一个非常好的描述,说明pack将如何根据您想要放置的位置来分发子小部件:。通读一下,看看它是否能更好地解释包装。非常感谢!没有意识到。对不起,@figbeam你知道为什么在上面的代码中,如果我在它的pack方法中给leftFrame一个fill='both',它似乎没有填充y轴吗?对我来说很有用。尝试为框架提供背景颜色,以查看其范围。已具有背景颜色。如果我将边设为左,它将填充y,但在两帧之间留有空间,如果我将边设为默认值,它将填充x,但不填充y?知道为什么吗?我不太清楚我是否完全理解了。不过,我可以向您指出一个非常好的描述,说明pack将如何根据您想要放置的位置来分发子小部件:。通读一下,看看它是否能更好地解释包装。