Для приложения моделирования я создаю пользовательский интерфейс с модулем Tkinter на python.В настоящее время я пытаюсь добавить ограничения на фреймы и размер окна, чтобы сохранить хороший интерфейс независимо от размера окна.
В части моего пользовательского интерфейса у меня есть что-то вроде этого:
from tkinter import *
root = Tk()
topframe= Frame(master=root,bg='red')
midframe= Frame(master=root,bg='blue')
bottomframe= Frame(master=root,bg='yellow')
toplabel= Label(master=topframe,bg='red',text='Must be non resizable unless window cannot fit it \n (Contains buttons)',height=10)
midlabel= Label(master=midframe,bg='blue',text='Must be resizable \n (Contains a graph)',height=10)
bottomlabel= Label(master=bottomframe,bg='yellow',text='Must be non resizable unless window cannot fit it \n (Contains simulation results)',height=10)
toplabel.pack(fill=X,expand=TRUE)
midlabel.pack(fill=X,expand=TRUE)
bottomlabel.pack(fill=X,expand=TRUE)
topframe.pack(side=TOP,fill=BOTH,expand=FALSE)
midframe.pack(side=TOP,fill=BOTH,expand=TRUE)
bottomframe.pack(side=TOP,fill=BOTH,expand=FALSE)
root.mainloop()
Таким образом, я получаю и окно, как это:
Окно, которое я получаю
Но моя проблема заключается в том, как я изменяю размер окна, чтобы уменьшить, желтыйдетали сжимаются до тех пор, пока они не исчезнут, но я бы хотел, чтобы размер был фиксированным, а синяя часть уменьшалась (рамка посередине).У кого-нибудь есть идея сделать это?
Я уже пробовал grid_propagate (False) и уже наблюдал связанные вопросы, но либо он не имеет никаких эффектов, либо не соответствует моему примеру.Спасибо за вашу помощь