Вы не можете использовать self.tk.resizable(False, False)
для виджета фрейма, это только для главного окна.
Решение
Если вы просто хотите, чтобы размер фрейма не изменялся при добавлении виджетов в него, используйте self.propagate(0)
, это не позволит дочерним виджетам принять размер родительского элемента.
Но если вы хотите, чтобы размер главного окна не изменялся, используйте window.resizable(False, False)
Код
import tkinter as tk
class Container(tk.Frame):
def __init__(self, parent = None, priority = 3, bg = 'bisque'):
tk.Frame.__init__(self, parent)
self.f = tk.Frame(parent)
self.f.configure(bg = bg)
self.propagate(0)
self.f.pack(fill = 'both', expand = True)
if __name__ == '__main__':
window = tk.Tk()
window.geometry('300x200+400+75')
window.minsize(300, 600)
# Use this if you don't want the main window to be resizable.
# window.resizable(False, False)
p1 = Container(window, priority = 1)
p2 = Container(window, bg = 'blue', priority = 2)
p3 = Container(window, bg = 'red', priority = 3)
window.mainloop()