#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. Я только что попробовал это, и это сработало. Спасибо, вы очень помогли!