我要制作的应用程序是使用类构造的。窗口大小为500x430,并且其中包含一个“容器”框架,该框架包含另外两个框架(左右)。右框架内有更多框架,每次调用时都会升高(可能不相关,但由左框架内的按钮调用)。
我无法使容器框架充满整个窗口。我意识到容器的大小取决于它需要适应的条件。相反,我需要它和正确的框架(以及正确框架内的每个框架)来填充窗口的大小。
class MainApp(Tk):
def __init__(self, *args, **kwargs):
Tk.__init__(self, *args, **kwargs)
self.geometry('500x430')
container = Frame(self, bg='orange')
container.grid(columnspan=2, rowspan=1, sticky=N+E+S+W)
container.grid_rowconfigure(0)
container.grid_columnconfigure(0)
left_frame = LeftFrame(container, self)
left_frame.grid(row=0, column=0)
right_frame = RightFrame(container, left_frame, bg='green')
right_frame.grid(column=1, row=0, columnspan=2)
rightcontainer = Frame(right_frame, bg='pink')
rightcontainer.grid()
self.frames = {}
for F in (Welcome, AccOne, AccTwo, AccThree):
frame = F(rightcontainer, self)
self.frames[F] = frame
self.show_frame(Welcome)
def show_frame(self, cont):
frame = self.frames[cont]
frame.grid(row=0, column=0, sticky=N+E+S+W)
frame.tkraise()
我假设添加container.grid(sticky=N+E+S+W)
会填满整个500x430窗口,但不会。
right_frame中的第一个可见帧是“欢迎”。框架“ Welcome”中的标签大小未填充窗口宽度,因此主框架“容器”未填充应用程序宽度。
如果我在“欢迎使用”中添加一个宽度较大的不可见按钮,则容器框架将填充窗口,但不会填充right_frame中的其他框架。
我是python的初学者。我希望我的问题和解释的方式清楚。任何帮助,将不胜感激。