Возникли трудности с размещением фрейма внутри фрейма с помощью Tkinter

#python #oop #tkinter

#python #ооп #tkinter

Вопрос:

У меня возникли проблемы при попытке разместить фрейм внутри фрейма, используя классы / объекты с помощью python / tkinter. Моя цель — просто разместить фрейм в северо-западном углу внешнего фрейма вместо всего самого окна. Я думаю, что я неправильно ссылаюсь на внешний фрейм в классе inner frame, но я не уверен на 100%. Я довольно новичок в ООП и tkinter, поэтому простите мое невежество, и я ценю помощь.

Пример кода:

 from tkinter import *

class window():
    def __init__(self, master):
        self.master = master.minsize(500, 500)
        master.maxsize(500,500)

        self.outer_frame = Frame(master, width = 250, height = 250, bg = "red").place(anchor = CENTER, relx = 0.5, rely = 0.5)
    def create_inner_window(self):
        self.inner_frame = inner_frame(self.outer_frame)

class inner_frame():
    def __init__(self, outer_frame):
        self.inner_frame = Frame(master = outer_frame, width = 125, height = 125, bg = "blue").place(anchor = NW)

root = Tk()
my_window = window(root)
my_window.create_inner_window()
root.mainloop()
  

Чего я пытаюсь достичь:

Что я получаю вместо этого:

Комментарии:

1. self.outer_frame None потому что это результат place(...) . Разделите self.outer_frame = Frame(...).place(...) на два оператора.

2. Я только что попробовал это, и это сработало. Спасибо, вы очень помогли!